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:
trnsmkot 2026-05-14 20:48:10 +07:00
parent 7fdba5dd57
commit 03e8d27b99

View File

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