Skip to content

Commit 07f2059

Browse files
authored
Merge pull request #6620 from nextcloud/bugfix/noid/onlySetWorkersExpeditedForAndroid12+
fix(login): only expedite WorkManager requests on Android 12+
2 parents 982f787 + b60d335 commit 07f2059

14 files changed

Lines changed: 58 additions & 34 deletions

File tree

app/src/main/java/com/nextcloud/talk/account/AccountVerificationActivity.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import android.util.Log
1818
import android.widget.Toast
1919
import androidx.work.Data
2020
import androidx.work.OneTimeWorkRequest
21-
import androidx.work.OutOfQuotaPolicy
21+
import com.nextcloud.talk.utils.setExpeditedIfSupported
2222
import androidx.work.WorkInfo
2323
import androidx.work.WorkManager
2424
import autodagger.AutoInjector
@@ -495,7 +495,7 @@ class AccountVerificationActivity : BaseActivity() {
495495
val capabilitiesWork =
496496
OneTimeWorkRequest.Builder(CapabilitiesWorker::class.java)
497497
.setInputData(userData)
498-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
498+
.setExpeditedIfSupported()
499499
.build()
500500
WorkManager.getInstance().enqueue(capabilitiesWork)
501501
}
@@ -591,7 +591,7 @@ class AccountVerificationActivity : BaseActivity() {
591591
private fun deleteUserAndStartServerSelection(userId: Long) {
592592
userManager.scheduleUserForDeletionWithId(userId).blockingGet()
593593
val accountRemovalWork = OneTimeWorkRequest.Builder(AccountRemovalWorker::class.java)
594-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
594+
.setExpeditedIfSupported()
595595
.build()
596596
WorkManager.getInstance(applicationContext).enqueue(accountRemovalWork)
597597

app/src/main/java/com/nextcloud/talk/account/data/io/LocalLoginDataSource.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ package com.nextcloud.talk.account.data.io
1010
import android.content.Context
1111
import androidx.lifecycle.LiveData
1212
import androidx.work.OneTimeWorkRequest
13-
import androidx.work.OutOfQuotaPolicy
13+
import com.nextcloud.talk.utils.setExpeditedIfSupported
1414
import androidx.work.WorkInfo
1515
import androidx.work.WorkManager
1616
import com.nextcloud.talk.account.data.model.LoginCompletion
@@ -33,7 +33,7 @@ class LocalLoginDataSource(val userManager: UserManager, val appPreferences: App
3333

3434
fun startAccountRemovalWorker(): LiveData<WorkInfo?> {
3535
val accountRemovalWork = OneTimeWorkRequest.Builder(AccountRemovalWorker::class.java)
36-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
36+
.setExpeditedIfSupported()
3737
.build()
3838
WorkManager.getInstance(context).enqueue(accountRemovalWork)
3939

app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ import androidx.media3.session.SessionToken
9292
import androidx.recyclerview.widget.LinearLayoutManager
9393
import androidx.work.Data
9494
import androidx.work.OneTimeWorkRequest
95-
import androidx.work.OutOfQuotaPolicy
95+
import com.nextcloud.talk.utils.setExpeditedIfSupported
9696
import androidx.work.WorkInfo
9797
import androidx.work.WorkManager
9898
import autodagger.AutoInjector
@@ -2380,7 +2380,7 @@ class ChatActivity :
23802380
val downloadWorker: OneTimeWorkRequest = OneTimeWorkRequest.Builder(DownloadFileToCacheWorker::class.java)
23812381
.setInputData(data)
23822382
.addTag(fileId)
2383-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
2383+
.setExpeditedIfSupported()
23842384
.build()
23852385

23862386
WorkManager.getInstance().enqueue(downloadWorker)
@@ -2538,7 +2538,7 @@ class ChatActivity :
25382538
.build()
25392539
val worker = OneTimeWorkRequest.Builder(ShareOperationWorker::class.java)
25402540
.setInputData(data)
2541-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
2541+
.setExpeditedIfSupported()
25422542
.build()
25432543
WorkManager.getInstance().enqueue(worker)
25442544
}
@@ -3344,7 +3344,7 @@ class ChatActivity :
33443344
val deleteConversationWorker =
33453345
OneTimeWorkRequest.Builder(DeleteConversationWorker::class.java)
33463346
.setInputData(data.build())
3347-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
3347+
.setExpeditedIfSupported()
33483348
.build()
33493349
WorkManager.getInstance().enqueue(deleteConversationWorker)
33503350

app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import androidx.lifecycle.lifecycleScope
2727
import androidx.work.Data
2828
import androidx.work.ExistingWorkPolicy
2929
import androidx.work.OneTimeWorkRequest
30-
import androidx.work.OutOfQuotaPolicy
30+
import com.nextcloud.talk.utils.setExpeditedIfSupported
3131
import androidx.work.WorkInfo
3232
import androidx.work.WorkManager
3333
import autodagger.AutoInjector
@@ -504,7 +504,7 @@ class ConversationInfoActivity : BaseActivity() {
504504
val addParticipantsWorker =
505505
OneTimeWorkRequest.Builder(AddParticipantsToConversationWorker::class.java)
506506
.setInputData(data)
507-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
507+
.setExpeditedIfSupported()
508508
.build()
509509
WorkManager.getInstance().enqueue(addParticipantsWorker)
510510
WorkManager.getInstance(context).getWorkInfoByIdLiveData(addParticipantsWorker.id)
@@ -519,7 +519,7 @@ class ConversationInfoActivity : BaseActivity() {
519519
workerData?.let { data ->
520520
val workRequest = OneTimeWorkRequest.Builder(LeaveConversationWorker::class.java)
521521
.setInputData(data)
522-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
522+
.setExpeditedIfSupported()
523523
.build()
524524
WorkManager.getInstance(context).enqueueUniqueWork(
525525
"leave_conversation_work",
@@ -594,7 +594,7 @@ class ConversationInfoActivity : BaseActivity() {
594594
WorkManager.getInstance(context).enqueue(
595595
OneTimeWorkRequest.Builder(DeleteConversationWorker::class.java)
596596
.setInputData(it)
597-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
597+
.setExpeditedIfSupported()
598598
.build()
599599
)
600600

app/src/main/java/com/nextcloud/talk/conversationlist/ConversationsListActivity.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import androidx.lifecycle.ViewModelProvider
3434
import androidx.lifecycle.lifecycleScope
3535
import androidx.work.Data
3636
import androidx.work.OneTimeWorkRequest
37-
import androidx.work.OutOfQuotaPolicy
37+
import com.nextcloud.talk.utils.setExpeditedIfSupported
3838
import androidx.work.WorkInfo
3939
import androidx.work.WorkManager
4040
import autodagger.AutoInjector
@@ -1256,7 +1256,7 @@ class ConversationsListActivity : BaseActivity() {
12561256
.build()
12571257
val worker = OneTimeWorkRequest.Builder(LeaveConversationWorker::class.java)
12581258
.setInputData(data)
1259-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
1259+
.setExpeditedIfSupported()
12601260
.build()
12611261
WorkManager.getInstance().enqueue(worker)
12621262
WorkManager.getInstance(this).getWorkInfoByIdLiveData(worker.id).observeForever { workInfo ->
@@ -1362,7 +1362,7 @@ class ConversationsListActivity : BaseActivity() {
13621362
private fun deleteUserAndRestartApp() {
13631363
userManager.scheduleUserForDeletionWithId(currentUser!!.id!!).blockingGet()
13641364
val accountRemovalWork = OneTimeWorkRequest.Builder(AccountRemovalWorker::class.java)
1365-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
1365+
.setExpeditedIfSupported()
13661366
.build()
13671367
WorkManager.getInstance(applicationContext).enqueue(accountRemovalWork)
13681368

@@ -1502,7 +1502,7 @@ class ConversationsListActivity : BaseActivity() {
15021502
val deleteConversationWorker =
15031503
OneTimeWorkRequest.Builder(DeleteConversationWorker::class.java)
15041504
.setInputData(data.build())
1505-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
1505+
.setExpeditedIfSupported()
15061506
.build()
15071507
WorkManager.getInstance().enqueue(deleteConversationWorker)
15081508

app/src/main/java/com/nextcloud/talk/jobs/ChatMessageCatchUpWorker.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import androidx.work.CoroutineWorker
1515
import androidx.work.Data
1616
import androidx.work.NetworkType
1717
import androidx.work.OneTimeWorkRequest
18-
import androidx.work.OutOfQuotaPolicy
18+
import com.nextcloud.talk.utils.setExpeditedIfSupported
1919
import androidx.work.WorkManager
2020
import androidx.work.WorkRequest
2121
import androidx.work.WorkerParameters
@@ -148,7 +148,7 @@ class ChatMessageCatchUpWorker(context: Context, workerParams: WorkerParameters)
148148
.setInputData(data)
149149
.setConstraints(Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build())
150150
.setBackoffCriteria(BackoffPolicy.EXPONENTIAL, WorkRequest.MIN_BACKOFF_MILLIS, TimeUnit.MILLISECONDS)
151-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
151+
.setExpeditedIfSupported()
152152
.build()
153153

154154
WorkManager.getInstance(context).enqueue(catchUpWork)

app/src/main/java/com/nextcloud/talk/jobs/PushRegistrationWorker.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import android.content.Context
1111
import android.util.Log
1212
import androidx.work.Data
1313
import androidx.work.OneTimeWorkRequest
14-
import androidx.work.OutOfQuotaPolicy
14+
import com.nextcloud.talk.utils.setExpeditedIfSupported
1515
import androidx.work.WorkManager
1616
import androidx.work.Worker
1717
import androidx.work.WorkerParameters
@@ -287,7 +287,7 @@ class PushRegistrationWorker(context: Context, workerParams: WorkerParameters) :
287287
.build()
288288
val notificationWork =
289289
OneTimeWorkRequest.Builder(NotificationWorker::class.java).setInputData(messageData)
290-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
290+
.setExpeditedIfSupported()
291291
.build()
292292
WorkManager.getInstance(applicationContext).enqueue(notificationWork)
293293
}

app/src/main/java/com/nextcloud/talk/jobs/ShareOperationWorker.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import android.content.Context
1111
import android.util.Log
1212
import androidx.work.Data
1313
import androidx.work.OneTimeWorkRequest
14-
import androidx.work.OutOfQuotaPolicy
14+
import com.nextcloud.talk.utils.setExpeditedIfSupported
1515
import androidx.work.WorkManager
1616
import androidx.work.Worker
1717
import androidx.work.WorkerParameters
@@ -120,7 +120,7 @@ class ShareOperationWorker(context: Context, workerParams: WorkerParameters) : W
120120
.build()
121121
val shareWorker = OneTimeWorkRequest.Builder(ShareOperationWorker::class.java)
122122
.setInputData(data)
123-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
123+
.setExpeditedIfSupported()
124124
.build()
125125
WorkManager.getInstance().enqueue(shareWorker)
126126
}

app/src/main/java/com/nextcloud/talk/mediaviewer/viewmodels/MediaViewerViewModel.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import androidx.lifecycle.asFlow
1212
import androidx.lifecycle.viewModelScope
1313
import androidx.work.Data
1414
import androidx.work.OneTimeWorkRequest
15-
import androidx.work.OutOfQuotaPolicy
15+
import com.nextcloud.talk.utils.setExpeditedIfSupported
1616
import androidx.work.WorkInfo
1717
import androidx.work.WorkManager
1818
import com.nextcloud.talk.application.NextcloudTalkApplication
@@ -152,7 +152,7 @@ class MediaViewerViewModel @Inject constructor(private val sharedItemsRepository
152152
val request = OneTimeWorkRequest.Builder(DownloadFileToCacheWorker::class.java)
153153
.setInputData(data)
154154
.addTag(item.fileId)
155-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
155+
.setExpeditedIfSupported()
156156
.build()
157157
WorkManager.getInstance(context).enqueue(request)
158158

app/src/main/java/com/nextcloud/talk/services/UnifiedPushService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ package com.nextcloud.talk.services
1010
import android.util.Log
1111
import androidx.work.Data
1212
import androidx.work.OneTimeWorkRequest
13-
import androidx.work.OutOfQuotaPolicy
13+
import com.nextcloud.talk.utils.setExpeditedIfSupported
1414
import androidx.work.WorkManager
1515
import com.nextcloud.talk.jobs.NotificationWorker
1616
import com.nextcloud.talk.jobs.PushRegistrationWorker
@@ -56,7 +56,7 @@ class UnifiedPushService : PushService() {
5656
.build()
5757
val notificationWork =
5858
OneTimeWorkRequest.Builder(NotificationWorker::class.java).setInputData(messageData)
59-
.setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST)
59+
.setExpeditedIfSupported()
6060
.build()
6161
WorkManager.getInstance(this).enqueue(notificationWork)
6262
}

0 commit comments

Comments
 (0)