IJPL-200875 Try to use the old SearchListener and see if it will fix Search Everywhere degradation with AIA

GitOrigin-RevId: 082c022f7c417f6da688be6551006e4a647cbcbf
This commit is contained in:
Aydar Mukhametzyanov
2025-09-05 10:12:39 +00:00
committed by intellij-monorepo-bot
parent fde435d0b0
commit 90dcaf2716
@@ -338,14 +338,26 @@ public class SearchEverywhereCommand extends AbstractCommand {
assert popupInstance != null;
Span insertSpan = PerformanceTestSpan.getTracer(warmup).spanBuilder("searchEverywhere_items_loaded").startSpan();
Span firstBatchAddedSpan = PerformanceTestSpan.getTracer(warmup).spanBuilder("searchEverywhere_first_elements_added").startSpan();
popupInstance.addSplitSearchListener(new SplitSearchAdapter() {
@Override
public void elementsAdded(@NotNull Map<@NotNull String, ?> uuidToElement) {
super.elementsAdded(uuidToElement);
firstBatchAddedSpan.setAttribute("number", uuidToElement.size());
firstBatchAddedSpan.end();
}
});
if (popupInstance instanceof SearchEverywhereUI) {
popupInstance.addSearchListener(new SearchAdapter() {
@Override
public void elementsAdded(@NotNull List<? extends SearchEverywhereFoundElementInfo> list) {
super.elementsAdded(list);
firstBatchAddedSpan.setAttribute("number", list.size());
firstBatchAddedSpan.end();
}
});
}
else {
popupInstance.addSplitSearchListener(new SplitSearchAdapter() {
@Override
public void elementsAdded(@NotNull Map<@NotNull String, ?> uuidToElement) {
super.elementsAdded(uuidToElement);
firstBatchAddedSpan.setAttribute("number", uuidToElement.size());
firstBatchAddedSpan.end();
}
});
}
//noinspection TestOnlyProblems
Future<List<Object>> elements = popupInstance.findElementsForPattern(insertText);
ApplicationManager.getApplication().executeOnPooledThread(Context.current().wrap((Callable<Object>)() -> {
@@ -368,29 +380,54 @@ public class SearchEverywhereCommand extends AbstractCommand {
Ref<Boolean> isTypingFinished = new Ref<>(false);
Ref<Span> oneLetterSpan = new Ref<>();
Ref<Span> firstBatchAddedSpan = new Ref<>();
popupInstance.addSplitSearchListener(new SplitSearchAdapter() {
@Override
public void elementsAdded(@NotNull Map<@NotNull String, ?> uuidToElement) {
firstBatchAddedSpan.get().setAttribute("number", uuidToElement.size());
firstBatchAddedSpan.get().end();
}
@Override
public void searchFinished(int count) {
super.searchFinished(count);
if (count < 0) return;
oneLetterLock.release();
if (!oneLetterSpan.isNull()) {
oneLetterSpan.get().setAttribute("number", count);
oneLetterSpan.get().end();
if (popupInstance instanceof SearchEverywhereUI) {
popupInstance.addSearchListener(new SearchAdapter() {
@Override
public void elementsAdded(@NotNull List<? extends SearchEverywhereFoundElementInfo> list) {
firstBatchAddedSpan.get().setAttribute("number", list.size());
firstBatchAddedSpan.get().end();
}
if (isTypingFinished.get()) {
typingSemaphore.release();
typing.shutdown();
@Override
public void searchFinished(@NotNull List<Object> items) {
super.searchFinished(items);
oneLetterLock.release();
if (!oneLetterSpan.isNull()) {
oneLetterSpan.get().setAttribute("number", items.size());
oneLetterSpan.get().end();
}
if (isTypingFinished.get()) {
typingSemaphore.release();
typing.shutdown();
}
}
}
});
});
}
else {
popupInstance.addSplitSearchListener(new SplitSearchAdapter() {
@Override
public void elementsAdded(@NotNull Map<@NotNull String, ?> uuidToElement) {
firstBatchAddedSpan.get().setAttribute("number", uuidToElement.size());
firstBatchAddedSpan.get().end();
}
@Override
public void searchFinished(int count) {
super.searchFinished(count);
if (count < 0) return;
oneLetterLock.release();
if (!oneLetterSpan.isNull()) {
oneLetterSpan.get().setAttribute("number", count);
oneLetterSpan.get().end();
}
if (isTypingFinished.get()) {
typingSemaphore.release();
typing.shutdown();
}
}
});
}
for (int i = 0; i < typingText.length(); i++) {
final int index = i;
typing.execute(Context.current().wrap(() -> {