mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[ai-assistant][ui-tests] add method to disable notifications with exclusion pattern and use for ML tests
GitOrigin-RevId: 6e79fb0953f70f8dc48bf93592d679f4626a8d29
This commit is contained in:
committed by
intellij-monorepo-bot
parent
b2a8e392ff
commit
e63b8a0fc3
@@ -8,4 +8,6 @@ interface NotificationUtils {
|
||||
fun disableAllBalloonNotifications()
|
||||
|
||||
fun disableBalloonNotificationsByGroupIdPattern(groupIdsPattern: String)
|
||||
|
||||
fun disableAllBalloonNotificationsWithExcludesPattern(excludesPattern: String)
|
||||
}
|
||||
+14
-4
@@ -2,8 +2,10 @@ package com.jetbrains.performancePlugin.utils
|
||||
|
||||
import com.intellij.notification.NotificationDisplayType
|
||||
import com.intellij.notification.NotificationsConfiguration
|
||||
import com.intellij.notification.impl.NotificationSettings
|
||||
import com.intellij.notification.impl.NotificationsConfigurationImpl
|
||||
import com.intellij.openapi.diagnostic.Logger
|
||||
import kotlin.text.toRegex
|
||||
|
||||
/**
|
||||
* @See com.intellij.driver.sdk.NotificationUtils
|
||||
@@ -16,18 +18,26 @@ object NotificationUtils {
|
||||
NotificationsConfigurationImpl.getInstanceImpl().SHOW_BALLOONS = false
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun disableBalloonNotificationsByGroupIdPattern(groupIdsPattern: String) {
|
||||
private fun disableBalloonNotifications(condition: (NotificationSettings) -> Boolean) {
|
||||
val conf = NotificationsConfiguration.getNotificationsConfiguration()
|
||||
val regex = groupIdsPattern.toRegex()
|
||||
if (conf is NotificationsConfigurationImpl) {
|
||||
val allSettings = conf.allSettings
|
||||
for (setting in allSettings) {
|
||||
if (setting.groupId.matches(regex)) {
|
||||
if (condition(setting)) {
|
||||
LOG.info("Disable notification group ${setting.groupId}")
|
||||
conf.changeSettings(setting.copy(displayType = NotificationDisplayType.NONE))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun disableBalloonNotificationsByGroupIdPattern(groupIdsPattern: String) {
|
||||
disableBalloonNotifications { it.groupId.matches(groupIdsPattern.toRegex()) }
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun disableAllBalloonNotificationsWithExcludesPattern(excludesPattern: String) {
|
||||
disableBalloonNotifications { !it.groupId.matches(excludesPattern.toRegex()) }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user