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:"