Update Transformations to new syntax (androidx.lifecycle:lifecycle-viewmodel-ktx:2.6)

This commit is contained in:
Ricki Hirner 2023-03-24 10:29:22 +01:00
parent 2503d92dca
commit 6050396a45
No known key found for this signature in database
GPG key ID: 79A019FCAAEDD3AA
5 changed files with 14 additions and 13 deletions

View file

@ -123,7 +123,7 @@ dependencies {
implementation 'androidx.hilt:hilt-work:1.0.0'
kapt 'androidx.hilt:hilt-compiler:1.0.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'
implementation 'androidx.paging:paging-runtime-ktx:3.1.1'
implementation 'androidx.preference:preference-ktx:1.2.0'
implementation 'androidx.security:security-crypto:1.1.0-alpha05'

View file

@ -11,7 +11,7 @@ import androidx.concurrent.futures.CallbackToFutureAdapter
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import androidx.hilt.work.HiltWorker
import androidx.lifecycle.Transformations
import androidx.lifecycle.map
import androidx.work.*
import at.bitfire.dav4jvm.*
import at.bitfire.dav4jvm.exception.HttpException
@ -125,9 +125,10 @@ class RefreshCollectionsWorker @AssistedInject constructor(
* @param workState state of worker to match
* @return boolean true if worker with matching state was found
*/
fun isWorkerInState(context: Context, workerName: String, workState: WorkInfo.State) = Transformations.map(
WorkManager.getInstance(context).getWorkInfosForUniqueWorkLiveData(workerName)
) { workInfoList -> workInfoList.any { workInfo -> workInfo.state == workState } }
fun isWorkerInState(context: Context, workerName: String, workState: WorkInfo.State) =
WorkManager.getInstance(context).getWorkInfosForUniqueWorkLiveData(workerName).map {
workInfoList -> workInfoList.any { workInfo -> workInfo.state == workState }
}
}

View file

@ -16,7 +16,7 @@ import androidx.concurrent.futures.CallbackToFutureAdapter
import androidx.core.app.NotificationCompat
import androidx.hilt.work.HiltWorker
import androidx.lifecycle.LiveData
import androidx.lifecycle.Transformations
import androidx.lifecycle.map
import androidx.work.*
import at.bitfire.davdroid.R
import at.bitfire.davdroid.log.Logger
@ -102,7 +102,7 @@ class SyncWorker @AssistedInject constructor(
)
fun isWorkerInState(context: Context, workState: WorkInfo.State, account: Account, authority: String) =
Transformations.map(WorkManager.getInstance(context).getWorkInfosForUniqueWorkLiveData(workerName(account, authority))) { workInfoList ->
WorkManager.getInstance(context).getWorkInfosForUniqueWorkLiveData(workerName(account, authority)).map { workInfoList ->
workInfoList.any { workInfo -> workInfo.state == workState }
}
@ -117,9 +117,9 @@ class SyncWorker @AssistedInject constructor(
val workQuery = WorkQuery.Builder
.fromStates(statuses)
.build()
return Transformations.map(
WorkManager.getInstance(context).getWorkInfosLiveData(workQuery)
) { it.isNotEmpty() }
return WorkManager.getInstance(context).getWorkInfosLiveData(workQuery).map {
it.isNotEmpty()
}
}
}

View file

@ -10,9 +10,9 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.viewModels
import androidx.lifecycle.Transformations
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.switchMap
import at.bitfire.davdroid.databinding.CollectionPropertiesBinding
import at.bitfire.davdroid.db.AppDatabase
import dagger.assisted.Assisted
@ -67,7 +67,7 @@ class CollectionInfoFragment: DialogFragment() {
}
var collection = db.collectionDao().getLive(collectionId)
var owner = Transformations.switchMap(collection) { collection ->
var owner = collection.switchMap { collection ->
collection.ownerId?.let { ownerId ->
db.principalDao().getLive(ownerId)
}

View file

@ -284,7 +284,7 @@ abstract class CollectionsFragment: Fragment(), SwipeRefreshLayout.OnRefreshList
val hasWriteableCollections = db.homeSetDao().hasBindableByServiceLive(serviceId)
val collectionColors = db.collectionDao().colorsByServiceLive(serviceId)
val collections: LiveData<PagingData<Collection>> =
Transformations.switchMap(accountModel.showOnlyPersonal) { onlyPersonal ->
accountModel.showOnlyPersonal.switchMap { onlyPersonal ->
val pager = Pager(
PagingConfig(pageSize = 25),
pagingSourceFactory = {