From 248fae6061be6534dbfbf85896a4ea17e8d4b1f8 Mon Sep 17 00:00:00 2001 From: slava Date: Sat, 18 Apr 2026 20:08:45 +0700 Subject: [PATCH] Improve scroll recovery logic in `GetLastTransactionsScript`: - Add upward scroll handling to recover header visibility when the target header scrolls out of view. --- android/ozon/GetLastTransactionsScript.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/android/ozon/GetLastTransactionsScript.cpp b/android/ozon/GetLastTransactionsScript.cpp index 38a2736..426a0e6 100644 --- a/android/ozon/GetLastTransactionsScript.cpp +++ b/android/ozon/GetLastTransactionsScript.cpp @@ -432,6 +432,18 @@ void GetLastTransactionsScript::searchTransaction(const DeviceInfo &device, int QThread::msleep(1500); continue; } + if (dateHeaderY == 0 && nextDateHeaderY < device.screenHeight) { + // Target-header ушёл вверх, видна только более старая дата. + // Кнопки выше nextDateHeaderY могут принадлежать промежуточным + // (пропущенным) датам — матчить их опасно. Скроллим обратно вверх. + qDebug() << "[FetchTransactions] Target scrolled above — scrolling up to recover"; + AdbUtils::makeSwipe(m_deviceId, device.screenWidth / 2, + device.screenHeight / 3, + device.screenWidth / 2, + device.screenHeight * 2 / 3, 600); + QThread::msleep(1500); + continue; + } QList txButtons = xmlScreenParser.findTransactionButtons(20); qDebug() << "[FetchTransactions] Found" << txButtons.size() << "buttons, dateY range:"