mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-04 23:39:07 +07:00
(RIDER-101819) Settings Import: skip unavailable providers
GitOrigin-RevId: aec011a6be455023482f128a5001136542cfb21d
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e6051ac129
commit
4884013697
@@ -31,7 +31,9 @@ class TransferSettingsDataProvider(val providers: List<TransferSettingsProvider>
|
||||
suspend fun hasDataToImport(): Boolean =
|
||||
coroutineScope {
|
||||
val result: Boolean = providers.map { provider ->
|
||||
async { logger.runAndLogException { provider.hasDataToImport() } ?: false }::await.asFlow()
|
||||
async {
|
||||
logger.runAndLogException { provider.isAvailable() && provider.hasDataToImport() } ?: false
|
||||
}::await.asFlow()
|
||||
}.merge().firstOrNull { it } ?: false
|
||||
|
||||
coroutineContext.job.cancelChildren()
|
||||
@@ -72,6 +74,7 @@ private class TransferSettingsDataProviderSession(private val providers: List<Tr
|
||||
|
||||
try {
|
||||
val startTime = System.nanoTime().nanoseconds
|
||||
@Suppress("SSBasedInspection") // we are ok with Steam API because of parallelStream
|
||||
val result = provider.getIdeVersions(skipIds ?: emptyList()).stream()
|
||||
val endTime = System.nanoTime().nanoseconds
|
||||
TransferSettingsCollector.logPerformanceMeasured(
|
||||
|
||||
Reference in New Issue
Block a user