1
0
mirror of https://github.com/chylex/IntelliJ-Disable-Task-Contexts.git synced 2025-05-25 17:34:07 +02:00

Do not use private APIs

This commit is contained in:
chylex 2022-04-30 13:51:21 +02:00
parent 997ea4b321
commit 8b4f1925f7
Signed by: chylex
GPG Key ID: 4DE42C8F19A80548

View File

@ -1,24 +1,24 @@
package com.chylex.intellij.disabletaskcontexts
import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.extensions.impl.ExtensionComponentAdapter
import com.intellij.tasks.context.WorkingContextProvider
@Suppress("UnstableApiUsage")
object WorkingContextExtensionChangeListener : Runnable {
private val logger = Logger.getInstance("DisableTaskContextsPlugin")
private val unregisterAllPredicate: (String, ExtensionComponentAdapter) -> Boolean = { _, _ -> false }
private var isRunning = false
override fun run() {
if (!isRunning && WorkingContextProvider.EP_NAME.hasAnyExtensions()) {
isRunning = true
val point = WorkingContextProvider.EP_NAME.point
try {
WorkingContextProvider.EP_NAME.point.unregisterExtensions(unregisterAllPredicate, false)
for (extension in point.extensions) {
point.unregisterExtension(extension.javaClass)
}
if (!WorkingContextProvider.EP_NAME.hasAnyExtensions()) {
if (point.size() == 0) {
logger.info("Unregistered task context providers.")
}
else {