1
0
forked from BRT/arc

Avoid referral badge overlap when tapping "Перевести" in PayByPhoneScript by adjusting tap position to the left quarter of the button. Add explanatory debug logs.

This commit is contained in:
slava 2026-05-14 20:48:10 +07:00
parent 53becd0183
commit 373d103212

View File

@ -162,7 +162,11 @@ void PayByPhoneScript::makePayment(
} }
return true; return true;
}; };
// 1. Нажимаем "Перевести" на домашнем экране // 1. Нажимаем "Перевести" на домашнем экране.
// Внимание: поверх правой части кнопки сидит referral-бейдж "badge icon за друга"
// (bounds типа [550,90][602,140]), который перекрывает центр кнопки. Тап в центр
// открывает промо "До 3 000 за рекомендацию". Тапаем в левую четверть, чтобы
// гарантированно попасть мимо бейджа.
Node transferBtn = xmlScreenParser.findButtonNode("Перевести", false); Node transferBtn = xmlScreenParser.findButtonNode("Перевести", false);
if (transferBtn.isEmpty()) { if (transferBtn.isEmpty()) {
m_error = "Кнопка 'Перевести' не найдена на домашнем экране"; m_error = "Кнопка 'Перевести' не найдена на домашнем экране";
@ -170,8 +174,10 @@ void PayByPhoneScript::makePayment(
return; return;
} }
qDebug() << "[PayByPhone] Tapping 'Перевести'..."; const int transferTapX = transferBtn.x1() + transferBtn.width() / 4;
AdbUtils::makeTap(deviceId, transferBtn.x(), transferBtn.y()); qDebug() << "[PayByPhone] Tapping 'Перевести' at" << transferTapX << "," << transferBtn.y()
<< "(avoiding 'за друга' badge on right)";
AdbUtils::makeTap(deviceId, transferTapX, transferBtn.y());
QThread::msleep(2000); QThread::msleep(2000);
// 2. Ждём экран "Платежи и переводы" с полем "Телефон получателя" // 2. Ждём экран "Платежи и переводы" с полем "Телефон получателя"