Daily commit
This commit is contained in:
parent
6ded374ee8
commit
c9e266225a
@ -7,6 +7,7 @@
|
||||
|
||||
#include "adb/AdbUtils.h"
|
||||
#include "net/NetworkService.h"
|
||||
#include "time/DateUtils.h"
|
||||
|
||||
CommonBirbankScript::CommonBirbankScript(QObject *parent)
|
||||
: QObject(parent) {
|
||||
@ -164,10 +165,10 @@ void CommonBirbankScript::postNewTransactionData(const AccountInfo &account, con
|
||||
obj["status"] = transactionStatusToString(transaction.status);
|
||||
obj["type"] = transactionTypeToString(transaction.type);
|
||||
obj["phone"] = transaction.phone;
|
||||
obj["description"] = transaction.description;
|
||||
obj["description"] = transaction.description + " | " + transaction.bankTime;
|
||||
obj["updatedDescription"] = transaction.updatedDescription;
|
||||
obj["bankName"] = transaction.bankName;
|
||||
obj["bankTime"] = transaction.bankTime;
|
||||
obj["bankTime"] = DateUtils::toUtcString(transaction.completeTime);
|
||||
obj["bankTransactionId"] = transaction.bankTrExternalId;
|
||||
|
||||
// FIXME доставить десктоп ид из настроеек
|
||||
|
||||
@ -470,24 +470,39 @@ QDomElement findElementWithPaymentsBirbank(const QDomElement &parent, const QStr
|
||||
}
|
||||
|
||||
QDateTime getUtcFromBakuDate(const QString &date, const QString &time) {
|
||||
int year = QDate::currentDate().year(); // Или укажи вручную нужный год
|
||||
QString combined = QString("%1 %2 %3").arg(date).arg(year).arg(time); // "24 июля 2025 0:31"
|
||||
|
||||
QLocale ruLocale(QLocale::Russian, QLocale::Russia);
|
||||
QDateTime dt = ruLocale.toDateTime(combined, "d MMMM yyyy H:mm");
|
||||
|
||||
if (dt.isValid()) {
|
||||
// Установка часового пояса Asia/Baku
|
||||
dt.setTimeZone(QTimeZone("Asia/Baku"));
|
||||
// Перевод в UTC
|
||||
QDateTime utc = dt.toTimeZone(QTimeZone::utc());
|
||||
return utc;
|
||||
} else {
|
||||
qWarning() << "Ошибка разбора даты/времени";
|
||||
}
|
||||
QDate baseDate;
|
||||
QTime parsedTime = QTime::fromString(time, "H:mm");
|
||||
if (!parsedTime.isValid()) {
|
||||
qWarning() << "Невалидное время:" << time;
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
QString dateLower = date.trimmed().toLower();
|
||||
|
||||
if (dateLower == "сегодня") {
|
||||
baseDate = QDate::currentDate();
|
||||
} else if (dateLower == "вчера") {
|
||||
baseDate = QDate::currentDate().addDays(-1);
|
||||
} else if (dateLower == "позавчера") {
|
||||
baseDate = QDate::currentDate().addDays(-2);
|
||||
} else {
|
||||
// Пробуем разобрать обычную дату, например "24 июля"
|
||||
QLocale ruLocale(QLocale::Russian, QLocale::Russia);
|
||||
int year = QDate::currentDate().year();
|
||||
QString combined = QString("%1 %2 %3").arg(date).arg(year).arg(time); // "24 июля 2025 0:31"
|
||||
QDateTime dt = ruLocale.toDateTime(combined, "d MMMM yyyy H:mm");
|
||||
if (!dt.isValid()) {
|
||||
qWarning() << "Ошибка разбора даты:" << combined;
|
||||
return {};
|
||||
}
|
||||
dt.setTimeZone(QTimeZone("Asia/Baku"));
|
||||
return dt.toTimeZone(QTimeZone::utc());
|
||||
}
|
||||
|
||||
// Собираем и переводим в UTC, если дата относительная
|
||||
QDateTime bakuDateTime(baseDate, parsedTime, QTimeZone("Asia/Baku"));
|
||||
return bakuDateTime.toTimeZone(QTimeZone::utc());
|
||||
}
|
||||
|
||||
QList<TransactionInfo> ScreenXmlBirbankParser::parsePositiveTransactions() {
|
||||
QList<TransactionInfo> transactions;
|
||||
|
||||
217
android/toss/CommonTossScript.cpp
Normal file
217
android/toss/CommonTossScript.cpp
Normal file
@ -0,0 +1,217 @@
|
||||
#include "CommonTossScript.h"
|
||||
|
||||
#include <QJsonArray>
|
||||
#include <QJsonObject>
|
||||
#include <QRandomGenerator>
|
||||
#include <QThread>
|
||||
|
||||
#include "adb/AdbUtils.h"
|
||||
#include "net/NetworkService.h"
|
||||
#include "time/DateUtils.h"
|
||||
|
||||
CommonTossScript::CommonTossScript(QObject *parent)
|
||||
: QObject(parent) {
|
||||
}
|
||||
|
||||
CommonTossScript::~CommonTossScript() = default;
|
||||
|
||||
void CommonTossScript::start() {
|
||||
doStart();
|
||||
emit finished();
|
||||
}
|
||||
|
||||
Node CommonTossScript::swipeToButton(
|
||||
const QString &deviceId,
|
||||
const QString &text, int &counter, const int width, const int height
|
||||
) {
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
if (Node button = xmlScreenParser.findButtonNode(text, true); button.x() > 0 && button.y() > 0) {
|
||||
return button;
|
||||
}
|
||||
const int x = width / 2;
|
||||
const int offset = height / 4;
|
||||
AdbUtils::makeSwipe(deviceId, x, height - offset, x, offset);
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(deviceId, ++counter));
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
bool CommonTossScript::runAppAndGoToHomeScreen(
|
||||
const QString &deviceId,
|
||||
const QString &packageName,
|
||||
const QString &pinCode,
|
||||
const int width,
|
||||
const int height
|
||||
) {
|
||||
// Запустить устройство
|
||||
if (const QString pid = AdbUtils::tryToGetRunningAppPid(deviceId, packageName); !pid.isEmpty()) {
|
||||
qDebug() << "Process already running, pid: " << pid;
|
||||
AdbUtils::getScreenDumpAsXml(deviceId, 1000);
|
||||
AdbUtils::tryToKillApplication(deviceId, packageName);
|
||||
}
|
||||
if (!AdbUtils::tryToStartApplication(deviceId, packageName)) {
|
||||
AdbUtils::takeScreenshot(deviceId, "run_app_error");
|
||||
qWarning() << "Process has not started";
|
||||
return false;
|
||||
}
|
||||
|
||||
// Даем минимальное время на запуск
|
||||
QThread::msleep(2500);
|
||||
int counter = 0;
|
||||
bool findAndInputPincode = false;
|
||||
|
||||
while (true) {
|
||||
counter++;
|
||||
|
||||
// Если более 10 раз мы пытаемся перейти на домашнюю
|
||||
if (counter > 10) {
|
||||
AdbUtils::takeScreenshot(deviceId, "too_many_attempts");
|
||||
return false;
|
||||
}
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(deviceId, ++m_counter));
|
||||
|
||||
// Node closeBannerNode = xmlScreenParser.findButtonNode("Maraqlı deyil", false);
|
||||
// if (!closeBannerNode.isEmpty()) {
|
||||
// AdbUtils::makeTap(deviceId, closeBannerNode.x(), closeBannerNode.y());
|
||||
// QThread::msleep(1000);
|
||||
// continue;
|
||||
// }
|
||||
|
||||
if (xmlScreenParser.isHomeScreen()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Проверяем, что это экран ввода пин-кода
|
||||
if (!findAndInputPincode) {
|
||||
if (const QList<Node> pincode = xmlScreenParser.findPinCodeNodes(pinCode); pincode.size() == 6) {
|
||||
for (const Node &node: pincode) {
|
||||
AdbUtils::makeTap(deviceId, node.x(), node.y());
|
||||
QThread::msleep(QRandomGenerator::global()->bounded(200, 901));
|
||||
}
|
||||
// После ввода пин-код нужно сделать задержку, пока подгрузка идет, чтобы снова не спарсить
|
||||
findAndInputPincode = true;
|
||||
QThread::msleep(3000);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
QThread::msleep(1000);
|
||||
}
|
||||
}
|
||||
|
||||
bool CommonTossScript::goToAllProducts(
|
||||
const QString &deviceId,
|
||||
const int width,
|
||||
const int height
|
||||
) {
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(deviceId, m_counter));
|
||||
Node closeBannerNode = xmlScreenParser.findButtonNode("Maraqlı deyil", false);
|
||||
if (!closeBannerNode.isEmpty()) {
|
||||
AdbUtils::makeTap(deviceId, closeBannerNode.x(), closeBannerNode.y());
|
||||
QThread::msleep(500);
|
||||
}
|
||||
|
||||
if (xmlScreenParser.isHomeScreen()) {
|
||||
Node allMyAccountBtn = xmlScreenParser.findButtonNode("All My Accounts", false);
|
||||
if (!allMyAccountBtn.isEmpty()) {
|
||||
AdbUtils::makeTap(deviceId, allMyAccountBtn.x(), allMyAccountBtn.y());
|
||||
QThread::msleep(500);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void CommonTossScript::postAccountsData(const QList<AccountInfo> &accounts) {
|
||||
if (accounts.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
auto *thread = new QThread;
|
||||
auto *worker = new NetworkService;
|
||||
|
||||
QJsonArray list;
|
||||
for (const AccountInfo &account: accounts) {
|
||||
QJsonObject obj;
|
||||
obj["appName"] = account.appCode;
|
||||
obj["lastNumbers"] = account.lastNumbers;
|
||||
obj["amount"] = account.amount;
|
||||
obj["currency"] = account.currency;
|
||||
obj["description"] = account.description;
|
||||
obj["status"] = accountStatusToString(account.status);
|
||||
|
||||
list.append(obj);
|
||||
}
|
||||
// FIXME доставить десктоп ид из настроеек
|
||||
worker->setDeviceId(accounts.first().deviceId);
|
||||
worker->setPayload(QJsonDocument(list).toJson());
|
||||
worker->moveToThread(thread);
|
||||
connect(thread, &QThread::started, worker, &NetworkService::postAccountsData);
|
||||
connect(worker, &NetworkService::finished, thread, &QThread::quit);
|
||||
connect(worker, &NetworkService::finished, worker, &QObject::deleteLater);
|
||||
connect(thread, &QThread::finished, thread, &QThread::deleteLater);
|
||||
thread->start();
|
||||
}
|
||||
|
||||
void CommonTossScript::postNewTransactionData(const AccountInfo &account, const TransactionInfo &transaction) {
|
||||
auto *thread = new QThread;
|
||||
auto *worker = new NetworkService;
|
||||
|
||||
QJsonObject obj;
|
||||
obj["id"] = transaction.id;
|
||||
obj["amount"] = transaction.amount;
|
||||
obj["name"] = transaction.name;
|
||||
obj["fee"] = transaction.fee;
|
||||
obj["status"] = transactionStatusToString(transaction.status);
|
||||
obj["type"] = transactionTypeToString(transaction.type);
|
||||
obj["phone"] = transaction.phone;
|
||||
obj["description"] = transaction.description + " | " + transaction.bankTime;
|
||||
obj["updatedDescription"] = transaction.updatedDescription;
|
||||
obj["bankName"] = transaction.bankName;
|
||||
obj["bankTime"] = DateUtils::toUtcString(transaction.completeTime);
|
||||
obj["bankTransactionId"] = transaction.bankTrExternalId;
|
||||
|
||||
// FIXME доставить десктоп ид из настроеек
|
||||
worker->setDeviceId(account.deviceId);
|
||||
worker->addExtra("lastNumbers", account.lastNumbers);
|
||||
worker->addExtra("transactionId", transaction.id);
|
||||
worker->setPayload(QJsonDocument(obj).toJson());
|
||||
worker->moveToThread(thread);
|
||||
connect(thread, &QThread::started, worker, &NetworkService::insertTransactionData);
|
||||
connect(worker, &NetworkService::finished, thread, &QThread::quit);
|
||||
connect(worker, &NetworkService::finished, worker, &QObject::deleteLater);
|
||||
connect(thread, &QThread::finished, thread, &QThread::deleteLater);
|
||||
thread->start();
|
||||
}
|
||||
|
||||
void CommonTossScript::updateTransactionData(
|
||||
const AccountInfo &account,
|
||||
const int transactionId,
|
||||
const TransactionStatus status,
|
||||
const QString &oldDesc,
|
||||
const QString &newDesc
|
||||
) {
|
||||
auto *thread = new QThread;
|
||||
auto *worker = new NetworkService;
|
||||
|
||||
QJsonObject obj;
|
||||
obj["id"] = transactionId;
|
||||
obj["status"] = transactionStatusToString(status);
|
||||
obj["description"] = newDesc;
|
||||
obj["updatedDescription"] = oldDesc;
|
||||
|
||||
// FIXME доставить десктоп ид из настроеек
|
||||
worker->setDeviceId(account.deviceId);
|
||||
worker->addExtra("lastNumbers", account.lastNumbers);
|
||||
worker->setPayload(QJsonDocument(obj).toJson());
|
||||
worker->moveToThread(thread);
|
||||
connect(thread, &QThread::started, worker, &NetworkService::updateTransactionData);
|
||||
connect(worker, &NetworkService::finished, thread, &QThread::quit);
|
||||
connect(worker, &NetworkService::finished, worker, &QObject::deleteLater);
|
||||
connect(thread, &QThread::finished, thread, &QThread::deleteLater);
|
||||
thread->start();
|
||||
}
|
||||
|
||||
void CommonTossScript::stop() {
|
||||
m_running = false;
|
||||
}
|
||||
68
android/toss/CommonTossScript.h
Normal file
68
android/toss/CommonTossScript.h
Normal file
@ -0,0 +1,68 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include "ScreenXmlTossParser.h"
|
||||
#include "android/xml/Node.h"
|
||||
#include "db/AccountInfo.h"
|
||||
#include "db/TransactionInfo.h"
|
||||
|
||||
class CommonTossScript : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CommonTossScript(QObject *parent = nullptr);
|
||||
|
||||
~CommonTossScript() override;
|
||||
|
||||
protected:
|
||||
virtual void doStart() = 0;
|
||||
|
||||
bool goToAllProducts(
|
||||
const QString &deviceId,
|
||||
int width,
|
||||
int height
|
||||
);
|
||||
|
||||
void postAccountsData(const QList<AccountInfo> &accounts);
|
||||
|
||||
void postNewTransactionData(const AccountInfo &account, const TransactionInfo &transaction);
|
||||
|
||||
void updateTransactionData(
|
||||
const AccountInfo &account,
|
||||
int transactionId,
|
||||
TransactionStatus status,
|
||||
const QString &oldDesc,
|
||||
const QString &newDesc
|
||||
);
|
||||
|
||||
Node swipeToButton(
|
||||
const QString &deviceId,
|
||||
const QString &text,
|
||||
int &counter, int width, int height
|
||||
);
|
||||
|
||||
bool runAppAndGoToHomeScreen(
|
||||
const QString &deviceId,
|
||||
const QString &packageName,
|
||||
const QString &pinCode,
|
||||
int width,
|
||||
int height
|
||||
);
|
||||
|
||||
bool m_running = true;
|
||||
ScreenXmlTossParser xmlScreenParser;
|
||||
int m_counter = 0;
|
||||
|
||||
signals:
|
||||
void finished();
|
||||
|
||||
void finishedWithResult(const QString &result);
|
||||
|
||||
public slots:
|
||||
virtual void start() final;
|
||||
|
||||
virtual void stop() final;
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(CommonTossScript);
|
||||
};
|
||||
164
android/toss/GetLastDaysHistoryTossScript.cpp
Normal file
164
android/toss/GetLastDaysHistoryTossScript.cpp
Normal file
@ -0,0 +1,164 @@
|
||||
#include "GetLastDaysHistoryTossScript.h"
|
||||
|
||||
#include <QJsonObject>
|
||||
#include <QRandomGenerator>
|
||||
#include <QThread>
|
||||
#include <utility>
|
||||
|
||||
#include "DatabaseManager.h"
|
||||
#include "adb/AdbUtils.h"
|
||||
#include "dao/AccountDAO.h"
|
||||
#include "dao/ApplicationDAO.h"
|
||||
#include "dao/DeviceDAO.h"
|
||||
#include "dao/TransactionDAO.h"
|
||||
#include "db/DeviceInfo.h"
|
||||
#include "net/NetworkService.h"
|
||||
#include "time/DateUtils.h"
|
||||
|
||||
GetLastDaysHistoryTossScript::GetLastDaysHistoryTossScript(
|
||||
AccountInfo account,
|
||||
QObject *parent
|
||||
) : CommonTossScript(parent),
|
||||
m_account(std::move(account)) {
|
||||
}
|
||||
|
||||
GetLastDaysHistoryTossScript::~GetLastDaysHistoryTossScript() = default;
|
||||
|
||||
bool GetLastDaysHistoryTossScript::saveAndPostNewTransactionData(
|
||||
const AccountInfo &account,
|
||||
const TransactionInfo &transaction,
|
||||
const TransactionStatus &status
|
||||
) {
|
||||
TransactionInfo tr;
|
||||
tr.accountId = account.id;
|
||||
tr.description = transaction.description;
|
||||
tr.bankTime = transaction.bankTime;
|
||||
tr.bankName = transaction.bankName;
|
||||
tr.amount = transaction.amount;
|
||||
tr.phone = transaction.phone;
|
||||
tr.updateTime = DateUtils::getUtcNow();
|
||||
tr.fee = transaction.fee;
|
||||
tr.name = transaction.name;
|
||||
tr.bankTrExternalId = transaction.bankTrExternalId;
|
||||
tr.status = status;
|
||||
tr.type = TransactionType::Card;
|
||||
tr.completeTime = transaction.completeTime;
|
||||
tr.id = TransactionDAO::insertTransaction(tr);
|
||||
|
||||
if (tr.id == -1) {
|
||||
return false;
|
||||
}
|
||||
postNewTransactionData(account, tr);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GetLastDaysHistoryTossScript::updateAndPostTransactionData(
|
||||
const AccountInfo &account,
|
||||
const int transactionId,
|
||||
const TransactionStatus status,
|
||||
const QString &oldDesc,
|
||||
const QString &newDesc
|
||||
) {
|
||||
if (TransactionDAO::updateTransaction(transactionId, status, oldDesc, newDesc)) {
|
||||
updateTransactionData(account, transactionId, status, oldDesc, newDesc);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void GetLastDaysHistoryTossScript::doStart() {
|
||||
// берем все транзакции из БД
|
||||
const DeviceInfo device = DeviceDAO::getDeviceById(m_account.deviceId);
|
||||
const ApplicationInfo app = ApplicationDAO::getApplication(m_account.deviceId, m_account.appCode);
|
||||
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_account.deviceId, ++m_counter));
|
||||
if (!xmlScreenParser.isHomeScreen()) {
|
||||
if (!runAppAndGoToHomeScreen(device.id, app.package, app.pinCode, device.screenWidth, device.screenHeight)) {
|
||||
m_error = "Не смогли дойти до домашней страницы";
|
||||
qCritical() << m_error;
|
||||
emit finishedWithResult(m_error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_account.deviceId, ++m_counter));
|
||||
|
||||
if (xmlScreenParser.isHomeScreen()) {
|
||||
QList<AccountInfo> oldAccounts = AccountDAO::getAccounts(m_account.deviceId, m_account.appCode);
|
||||
QMap<QString, AccountInfo> accountMap;
|
||||
for (AccountInfo &oldAccount: oldAccounts) {
|
||||
if (oldAccount.status == AccountStatus::Active) {
|
||||
accountMap.insert(oldAccount.lastNumbers, oldAccount);
|
||||
}
|
||||
}
|
||||
|
||||
QList<AccountInfo> accounts = xmlScreenParser.parseAccountsInfo();
|
||||
if (accounts.length() == 1 && accountMap.size() == 1) {
|
||||
AccountInfo account = accounts[0];
|
||||
account.deviceId = m_account.deviceId;
|
||||
account.appCode = m_account.appCode;
|
||||
account.lastNumbers = accountMap.first().lastNumbers;
|
||||
account.description = accountMap.first().description;
|
||||
account.currency = accountMap.first().currency;
|
||||
account.description = accountMap.first().description;
|
||||
account.status = AccountStatus::Active;
|
||||
if (!AccountDAO::upsertAccount(account)) {
|
||||
m_error = "Not updated: " + account.lastNumbers;
|
||||
qCritical() << m_error;
|
||||
}
|
||||
}
|
||||
|
||||
QList<AccountInfo> savedAccounts = AccountDAO::getAccounts(m_account.deviceId, m_account.appCode);
|
||||
postAccountsData(savedAccounts);
|
||||
|
||||
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_account.deviceId, ++m_counter));
|
||||
Node transferText = xmlScreenParser.findTextContainsNode("토스뱅크 통장");
|
||||
if (!transferText.isEmpty()) {
|
||||
AdbUtils::makeTap(device.id, transferText.x(), transferText.y());
|
||||
QThread::msleep(3000);
|
||||
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_account.deviceId, ++m_counter));
|
||||
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
Node myBankText = xmlScreenParser.findTextNode("My Toss Bank");
|
||||
Node accountText = xmlScreenParser.findTextNode("Account");
|
||||
|
||||
if (!myBankText.isEmpty() && !accountText.isEmpty()) {
|
||||
QList<TransactionInfo> transactions = xmlScreenParser.parsePositiveTransactions();
|
||||
QList<TransactionInfo> savedTransactions = TransactionDAO::getTransactionsWithinHours(m_account.id, 48);
|
||||
for (TransactionInfo &transaction: transactions) {
|
||||
bool isSaved = false;
|
||||
for (TransactionInfo &savedTransaction: savedTransactions) {
|
||||
if (savedTransaction.amount == transaction.amount
|
||||
&& savedTransaction.bankTime == transaction.bankTime) {
|
||||
isSaved = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!isSaved) {
|
||||
if (!saveAndPostNewTransactionData(m_account, transaction, TransactionStatus::Complete)) {
|
||||
qDebug() << "--- saveAndPostNewTransactionData failed";
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
m_error = "Card page not found: " + m_account.deviceId + " " + m_account.lastNumbers;
|
||||
qWarning() << m_error;
|
||||
emit finishedWithResult(m_error);
|
||||
return;
|
||||
}
|
||||
|
||||
QThread::msleep(1000);
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_account.deviceId , ++m_counter));
|
||||
}
|
||||
} else {
|
||||
m_error = "Card not found: " + m_account.deviceId + " " + m_account.lastNumbers;
|
||||
qWarning() << m_error;
|
||||
emit finishedWithResult(m_error);
|
||||
return;
|
||||
}
|
||||
}
|
||||
AdbUtils::goBack(m_account.deviceId);
|
||||
emit finishedWithResult(m_error);
|
||||
}
|
||||
35
android/toss/GetLastDaysHistoryTossScript.h
Normal file
35
android/toss/GetLastDaysHistoryTossScript.h
Normal file
@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
#include "CommonTossScript.h"
|
||||
|
||||
class GetLastDaysHistoryTossScript final : public CommonTossScript {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
~GetLastDaysHistoryTossScript() override;
|
||||
|
||||
explicit GetLastDaysHistoryTossScript(
|
||||
AccountInfo account,
|
||||
QObject *parent = nullptr
|
||||
);
|
||||
|
||||
protected:
|
||||
void doStart() override;
|
||||
|
||||
private:
|
||||
const AccountInfo m_account;
|
||||
QString m_error;
|
||||
|
||||
bool saveAndPostNewTransactionData(
|
||||
const AccountInfo &account,
|
||||
const TransactionInfo &transaction,
|
||||
const TransactionStatus &status
|
||||
);
|
||||
|
||||
bool updateAndPostTransactionData(
|
||||
const AccountInfo &account,
|
||||
int transactionId,
|
||||
TransactionStatus status,
|
||||
const QString &oldDesc,
|
||||
const QString &newDesc
|
||||
);
|
||||
};
|
||||
208
android/toss/LoginAndCheckAccountsTossScript.cpp
Normal file
208
android/toss/LoginAndCheckAccountsTossScript.cpp
Normal file
@ -0,0 +1,208 @@
|
||||
#include "LoginAndCheckAccountsTossScript.h"
|
||||
|
||||
#include <QThread>
|
||||
|
||||
#include "adb/AdbUtils.h"
|
||||
#include "dao/AccountDAO.h"
|
||||
#include "dao/ApplicationDAO.h"
|
||||
#include "dao/DeviceDAO.h"
|
||||
#include "dao/TransactionDAO.h"
|
||||
#include "time/DateUtils.h"
|
||||
|
||||
LoginAndCheckAccountsTossScript::LoginAndCheckAccountsTossScript(
|
||||
QString deviceId,
|
||||
QString appCode,
|
||||
QObject *parent
|
||||
) : CommonTossScript(parent),
|
||||
m_deviceId(std::move(deviceId)), m_appCode(std::move(appCode)) {
|
||||
}
|
||||
|
||||
LoginAndCheckAccountsTossScript::~LoginAndCheckAccountsTossScript() = default;
|
||||
|
||||
/**
|
||||
NongHyup
|
||||
KakaoBank
|
||||
Kookmin
|
||||
Toss Bank
|
||||
Shinhan
|
||||
Woori
|
||||
IBK
|
||||
Hana
|
||||
MG
|
||||
Busan Bank
|
||||
iM Bank(Daegu)
|
||||
Kbank
|
||||
Credit Union
|
||||
Postal Sav.
|
||||
SC
|
||||
Kyongnam
|
||||
Kwangju
|
||||
Suhyup
|
||||
Jeonbuk
|
||||
Savings Banks
|
||||
Jeju Bank
|
||||
Jeonbuk
|
||||
Savings Banks
|
||||
Jeju Bank
|
||||
Citibank
|
||||
KDB
|
||||
NFCF
|
||||
SBI Sav.
|
||||
BOA
|
||||
Bank of China
|
||||
HSBC
|
||||
ICBC
|
||||
Deutsche
|
||||
JPMorgan
|
||||
BNP Paribas
|
||||
CCB
|
||||
*/
|
||||
void LoginAndCheckAccountsTossScript::doStart() {
|
||||
const DeviceInfo device = DeviceDAO::getDeviceById(m_deviceId);
|
||||
const ApplicationInfo app = ApplicationDAO::getApplication(m_deviceId, m_appCode);
|
||||
|
||||
|
||||
if (true) {
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter));
|
||||
|
||||
// искать Transfer кнопку
|
||||
|
||||
// Node transferText = xmlScreenParser.findTextContainsNode("토스뱅크 통장");
|
||||
// if (transferText.isEmpty()) {
|
||||
// }
|
||||
|
||||
Node transferText = xmlScreenParser.findFirstAccountLine();
|
||||
if (!transferText.isEmpty()) {
|
||||
AdbUtils::makeTap(device.id, transferText.x(), transferText.y());
|
||||
QThread::msleep(3000);
|
||||
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter));
|
||||
|
||||
bool historyFound = false;
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
Node topUpBtn = xmlScreenParser.findButtonNode("Top up", false);
|
||||
Node sendBtn = xmlScreenParser.findButtonNode("Send", false);
|
||||
|
||||
if (!topUpBtn.isEmpty() && !sendBtn.isEmpty()) {
|
||||
// подгрузка истории идет
|
||||
QThread::msleep(2000);
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter));
|
||||
|
||||
QList<TransactionInfo> transactions = xmlScreenParser.parsePositiveTransactions();
|
||||
for (auto &transaction: transactions) {
|
||||
qDebug().noquote().nospace() << convertTransactionToString(transaction);
|
||||
}
|
||||
historyFound = true;
|
||||
break;
|
||||
}
|
||||
QThread::msleep(1000);
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter));
|
||||
}
|
||||
if (!historyFound) {
|
||||
m_error = "Top up or send button not found: " + m_deviceId + " " + m_appCode;
|
||||
qWarning() << m_error;
|
||||
emit finishedWithResult(m_error);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
m_error = "Card not found: " + m_deviceId + " " + m_appCode;
|
||||
qWarning() << m_error;
|
||||
emit finishedWithResult(m_error);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// "Maraqlı deyil" - не интересно
|
||||
if (device.id.isEmpty() || app.id == -1) {
|
||||
m_error = "Device or app not found: " + m_deviceId + " " + m_appCode;
|
||||
qCritical() << m_error;
|
||||
emit finishedWithResult(m_error);
|
||||
return;
|
||||
}
|
||||
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter));
|
||||
|
||||
if (!runAppAndGoToHomeScreen(device.id, app.package, app.pinCode, device.screenWidth, device.screenHeight)) {
|
||||
m_error = "Cant open the home screen: " + m_deviceId + " " + m_appCode;
|
||||
qWarning() << m_error;
|
||||
if (!ApplicationDAO::updatePinCodeStatus(app.id, "no", "Не прошла проверка [дата]")) {
|
||||
qWarning() << "Cant update the pincode: " << m_deviceId << " " << m_appCode;
|
||||
}
|
||||
|
||||
AdbUtils::tryToKillApplication(m_deviceId, app.package);
|
||||
emit finishedWithResult(m_error);
|
||||
return;
|
||||
} else {
|
||||
if (!ApplicationDAO::updatePinCodeStatus(app.id, "yes", "")) {
|
||||
qWarning() << "Cant update the pincode: " << m_deviceId << " " << m_appCode;
|
||||
}
|
||||
|
||||
Node mainAccount = xmlScreenParser.findTextContainsNode("Main account");
|
||||
if (!mainAccount.isEmpty()) {
|
||||
// AdbUtils::makeTap(device.id, mainAccount.x(), mainAccount.y());
|
||||
// QThread::msleep(1000);
|
||||
// for (int i = 0; i < 5; ++i) {
|
||||
// xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_account.deviceId, ++m_counter));
|
||||
// Node mainAccount = xmlScreenParser.findTextContainsNode("Main account");
|
||||
// if (!byDayTitle.isEmpty()) {
|
||||
// qWarning() << "--- beforeYesterdayTitle found!";
|
||||
// break;
|
||||
// }
|
||||
// AdbUtils::makeSwipe(
|
||||
// m_account.deviceId,
|
||||
// device.screenWidth / 2, device.screenHeight / 4 * 3,
|
||||
// device.screenWidth / 2, device.screenHeight / 4
|
||||
// );
|
||||
// QThread::msleep(1000);
|
||||
//
|
||||
// }
|
||||
}
|
||||
|
||||
QThread::msleep(2000);
|
||||
|
||||
xmlScreenParser.parseAndSaveXml(AdbUtils::getScreenDumpAsXml(m_deviceId, ++m_counter));
|
||||
|
||||
QList<AccountInfo> oldAccounts = AccountDAO::getAccounts(m_deviceId, m_appCode);
|
||||
QMap<QString, AccountInfo> accountMap;
|
||||
for (AccountInfo &oldAccount: oldAccounts) {
|
||||
if (oldAccount.status == AccountStatus::Active) {
|
||||
accountMap.insert(oldAccount.lastNumbers, oldAccount);
|
||||
}
|
||||
}
|
||||
|
||||
QList<AccountInfo> accounts = xmlScreenParser.parseAccountsInfo();
|
||||
if (accounts.length() == 1 && accountMap.size() == 1) {
|
||||
AccountInfo account = accounts[0];
|
||||
account.deviceId = m_deviceId;
|
||||
account.appCode = m_appCode;
|
||||
account.lastNumbers = accountMap.first().lastNumbers;
|
||||
account.description = accountMap.first().description;
|
||||
account.currency = accountMap.first().currency;
|
||||
account.description = accountMap.first().description;
|
||||
account.status = AccountStatus::Active;
|
||||
if (!AccountDAO::upsertAccount(account)) {
|
||||
m_error = "Not updated: " + account.lastNumbers;
|
||||
qCritical() << m_error;
|
||||
}
|
||||
}
|
||||
// for (auto account: accounts) {
|
||||
// if (accountMap.contains(account.lastNumbers)) {
|
||||
// account.deviceId = m_deviceId;
|
||||
// account.appCode = m_appCode;
|
||||
// account.currency = accountMap[account.lastNumbers].currency;
|
||||
// account.description = accountMap[account.lastNumbers].description;
|
||||
// account.status = AccountStatus::Active;
|
||||
// if (!AccountDAO::upsertAccount(account)) {
|
||||
// m_error = "Not updated: " + account.lastNumbers;
|
||||
// qCritical() << m_error;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
QList<AccountInfo> savedAccounts = AccountDAO::getAccounts(m_deviceId, m_appCode);
|
||||
postAccountsData(savedAccounts);
|
||||
}
|
||||
|
||||
AdbUtils::tryToKillApplication(m_deviceId, app.package);
|
||||
}
|
||||
emit finishedWithResult(m_error);
|
||||
}
|
||||
23
android/toss/LoginAndCheckAccountsTossScript.h
Normal file
23
android/toss/LoginAndCheckAccountsTossScript.h
Normal file
@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
#include "CommonTossScript.h"
|
||||
|
||||
class LoginAndCheckAccountsTossScript final : public CommonTossScript {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
~LoginAndCheckAccountsTossScript() override;
|
||||
|
||||
explicit LoginAndCheckAccountsTossScript(
|
||||
QString deviceId,
|
||||
QString appCode,
|
||||
QObject *parent = nullptr
|
||||
);
|
||||
|
||||
protected:
|
||||
void doStart() override;
|
||||
|
||||
private:
|
||||
const QString m_deviceId;
|
||||
const QString m_appCode;
|
||||
QString m_error;
|
||||
};
|
||||
452
android/toss/ScreenXmlTossParser.cpp
Normal file
452
android/toss/ScreenXmlTossParser.cpp
Normal file
@ -0,0 +1,452 @@
|
||||
#include "ScreenXmlTossParser.h"
|
||||
|
||||
#include <QRegularExpression>
|
||||
#include <QMap>
|
||||
#include <QSet>
|
||||
#include <QList>
|
||||
#include <QXmlStreamReader>
|
||||
#include <QDomDocument>
|
||||
#include <QFile>
|
||||
#include <QDateTime>
|
||||
|
||||
#include "adb/AdbUtils.h"
|
||||
#include "android/xml/Node.h"
|
||||
#include "db/AccountInfo.h"
|
||||
#include "db/TransactionInfo.h"
|
||||
#include "time/DateUtils.h"
|
||||
|
||||
ScreenXmlTossParser::ScreenXmlTossParser(QObject *parent) : QObject(parent) {
|
||||
}
|
||||
|
||||
ScreenXmlTossParser::~ScreenXmlTossParser() = default;
|
||||
|
||||
static const QRegularExpression boundsRegex(R"(\[([0-9]+),([0-9]+)\]\[([0-9]+),([0-9]+)\])");
|
||||
|
||||
Node ScreenXmlTossParser::findTextNode(const QString &text) {
|
||||
for (const Node &node: m_nodes) {
|
||||
if (node.className == "android.widget.TextView" && node.text.trimmed() == text) {
|
||||
return node;
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
Node ScreenXmlTossParser::findTextContainsNode(const QString &text) {
|
||||
for (const Node &node: m_nodes) {
|
||||
if (node.className == "android.widget.TextView" && node.text.contains(text)) {
|
||||
return node;
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
Node ScreenXmlTossParser::findTextNode(const QString &text, const int x1, const int y1, const int x2, const int y2) {
|
||||
for (const Node &node: m_nodes) {
|
||||
if (node.className == "android.widget.TextView" && node.text.trimmed() == text
|
||||
&& node.x() >= x1 && node.x() <= x2 && node.y() >= y1 && node.y() <= y2) {
|
||||
return node;
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
Node ScreenXmlTossParser::findEditText(const QString &text) {
|
||||
for (const Node &node: m_nodes) {
|
||||
if (node.className == "android.widget.EditText" && node.text == text) {
|
||||
return node;
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
Node ScreenXmlTossParser::findEditTextByResourceId(const QString &resourceId) {
|
||||
for (const Node &node: m_nodes) {
|
||||
if (node.className == "android.widget.EditText" && node.resourceId == resourceId) {
|
||||
return node;
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
Node ScreenXmlTossParser::findButtonNode(const QString &text, const bool contains) {
|
||||
for (const Node &node: m_nodes) {
|
||||
if (contains) {
|
||||
if (node.className == "android.widget.Button" && node.text.contains(text)) {
|
||||
return node;
|
||||
}
|
||||
} else {
|
||||
if (node.className == "android.widget.Button" && node.text.trimmed() == text) {
|
||||
return node;
|
||||
}
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
bool ScreenXmlTossParser::isHomeScreen() {
|
||||
Node activitiesBtn;
|
||||
for (const Node &node: m_nodes) {
|
||||
if (node.text.contains("Transfer") && node.resourceId == "viva.republica.toss:id/rightButton") {
|
||||
activitiesBtn = node;
|
||||
}
|
||||
}
|
||||
return !activitiesBtn.isEmpty();
|
||||
}
|
||||
|
||||
QList<Node> ScreenXmlTossParser::findPinCodeNodes(const QString &pinCode) {
|
||||
QMap<QString, Node> buttons;
|
||||
const QSet<QString> numberSet = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
|
||||
|
||||
for (const Node &node: m_nodes) {
|
||||
const QString &text = node.text.trimmed();
|
||||
if (node.className == "android.widget.Button" && numberSet.contains(text)) {
|
||||
buttons[text] = node;
|
||||
}
|
||||
}
|
||||
|
||||
QList<Node> nodes;
|
||||
for (int i = 0; i < pinCode.length(); ++i) {
|
||||
nodes.append(buttons[QString(pinCode.at(i))]);
|
||||
}
|
||||
return nodes;
|
||||
}
|
||||
|
||||
Node convertTossDomElementToNode(const QDomElement &element) {
|
||||
auto node = Node();
|
||||
if (element.hasAttribute("bounds")) {
|
||||
const QString bounds = element.attribute("bounds");
|
||||
if (const QRegularExpressionMatch match = boundsRegex.match(bounds); match.hasMatch()) {
|
||||
node.setBounds(
|
||||
match.captured(1).toInt(),
|
||||
match.captured(2).toInt(),
|
||||
match.captured(3).toInt(),
|
||||
match.captured(4).toInt()
|
||||
);
|
||||
}
|
||||
}
|
||||
if (element.hasAttribute("text")) {
|
||||
node.text = element.attribute("text");
|
||||
}
|
||||
if (element.hasAttribute("content-desc")) {
|
||||
node.contentDesc = element.attribute("content-desc");
|
||||
}
|
||||
if (element.hasAttribute("class")) {
|
||||
node.className = element.attribute("class");
|
||||
}
|
||||
if (element.hasAttribute("clickable")) {
|
||||
node.clickable = element.attribute("clickable") == "true";
|
||||
}
|
||||
if (element.hasAttribute("focusable")) {
|
||||
node.focusable =element.attribute("focusable") == "true";
|
||||
}
|
||||
if (element.hasAttribute("resource-id")) {
|
||||
node.resourceId = element.attribute("resource-id");
|
||||
}
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
void ScreenXmlTossParser::parseAndSaveXml(const QString &xml) {
|
||||
QDomDocument doc;
|
||||
doc.setContent(xml);
|
||||
m_xml = doc.documentElement();
|
||||
m_nodes.clear();
|
||||
|
||||
QXmlStreamReader reader(xml);
|
||||
while (!reader.atEnd()) {
|
||||
reader.readNext();
|
||||
if (reader.isStartElement() && reader.name() == "node") {
|
||||
Node node = Node();
|
||||
if (reader.attributes().hasAttribute("bounds")) {
|
||||
QString bounds = reader.attributes().value("bounds").toString();
|
||||
if (QRegularExpressionMatch match = boundsRegex.match(bounds); match.hasMatch()) {
|
||||
node.setBounds(
|
||||
match.captured(1).toInt(),
|
||||
match.captured(2).toInt(),
|
||||
match.captured(3).toInt(),
|
||||
match.captured(4).toInt()
|
||||
);
|
||||
}
|
||||
}
|
||||
if (reader.attributes().hasAttribute("text")) {
|
||||
node.text = reader.attributes().value("text").toString();
|
||||
}
|
||||
|
||||
if (reader.attributes().hasAttribute("content-desc")) {
|
||||
node.contentDesc = reader.attributes().value("content-desc").toString();
|
||||
}
|
||||
|
||||
if (reader.attributes().hasAttribute("class")) {
|
||||
node.className = reader.attributes().value("class").toString();
|
||||
}
|
||||
|
||||
if (reader.attributes().hasAttribute("clickable")) {
|
||||
node.clickable = reader.attributes().value("clickable").toString() == "true";
|
||||
}
|
||||
if (reader.attributes().hasAttribute("focusable")) {
|
||||
node.focusable = reader.attributes().value("focusable").toString() == "true";
|
||||
}
|
||||
if (reader.attributes().hasAttribute("resource-id")) {
|
||||
node.resourceId = reader.attributes().value("resource-id").toString();
|
||||
}
|
||||
|
||||
m_nodes.append(node);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QDomElement findSubElementToss(const QDomElement &elem, const QString &index) {
|
||||
if (elem.hasChildNodes()) {
|
||||
QDomNodeList subInfoList = elem.childNodes();
|
||||
for (QDomNode subInfoNode: subInfoList) {
|
||||
if (!subInfoNode.isElement()) continue;
|
||||
QDomElement subInfo = subInfoNode.toElement();
|
||||
if (subInfo.attribute("index") == index) {
|
||||
return subInfo;
|
||||
}
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
QString findSubInfoToss(const QDomElement &elem, const QString &index) {
|
||||
QDomElement subInfo = findSubElementToss(elem, index);
|
||||
if (!subInfo.isNull()) {
|
||||
return subInfo.attribute("text");
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
QDomNode findNodeToss(const QDomNode &node, const QString &text) {
|
||||
if (node.isElement()) {
|
||||
QString nodeText = node.toElement().attribute("text");
|
||||
if (nodeText.toLower().startsWith(text)) {
|
||||
return node;
|
||||
}
|
||||
}
|
||||
|
||||
QDomNode child = node.firstChild();
|
||||
while (!child.isNull()) {
|
||||
QDomNode result = findNodeToss(child, text);
|
||||
if (!result.isNull()) {
|
||||
return result;
|
||||
}
|
||||
child = child.nextSibling();
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
QList<QDomElement> findElementsWithPaymentsToss(const QDomElement &parent, const QString &attribute,
|
||||
const QString &value) {
|
||||
QList<QDomElement> result;
|
||||
|
||||
QDomElement element = parent.firstChildElement();
|
||||
while (!element.isNull()) {
|
||||
// Проверка самого element
|
||||
// if (element.hasAttribute(attribute) && element.attribute(attribute) == value) {
|
||||
// result.append(element);
|
||||
// }
|
||||
|
||||
// Проверка его дочерних элементов
|
||||
QDomElement child = element.firstChildElement();
|
||||
while (!child.isNull()) {
|
||||
if (child.hasAttribute(attribute) && child.attribute(attribute) == value) {
|
||||
result.append(child);
|
||||
}
|
||||
child = child.nextSiblingElement();
|
||||
}
|
||||
|
||||
// Рекурсивный обход
|
||||
result.append(findElementsWithPaymentsToss(element, attribute, value));
|
||||
|
||||
element = element.nextSiblingElement();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
QDomElement findElementWithPaymentsToss(const QDomElement &parent, const QString &attribute, const QString &value) {
|
||||
QDomElement element = parent.firstChildElement();
|
||||
while (!element.isNull()) {
|
||||
QDomElement child = element.firstChildElement();
|
||||
while (!child.isNull()) {
|
||||
if (child.hasAttribute(attribute) && child.attribute(attribute) == value) {
|
||||
return child;
|
||||
}
|
||||
child = child.nextSiblingElement();
|
||||
}
|
||||
|
||||
QDomElement found = findElementWithPaymentsToss(element, attribute, value);
|
||||
if (!found.isNull()) {
|
||||
return found;
|
||||
}
|
||||
element = element.nextSiblingElement();
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
QDateTime getUtcFromSeoulDate(const QString &date, const QString &time) {
|
||||
int year = QDate::currentDate().year(); // или укажи вручную нужный год
|
||||
QString withYear = QString("%1년 %2 %3").arg(year).arg(date).arg(time); // "2025년 7월 28일 17:54"
|
||||
|
||||
QLocale korean(QLocale::Korean, QLocale::SouthKorea);
|
||||
QString format = "yyyy년 M월 d일 H:mm";
|
||||
|
||||
QDateTime dt = korean.toDateTime(withYear, format);
|
||||
if (dt.isValid()) {
|
||||
dt.setTimeZone(QTimeZone("Asia/Seoul"));
|
||||
return dt.toTimeZone(QTimeZone::utc());
|
||||
} else {
|
||||
qWarning() << "Ошибка разбора даты:" << withYear;
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
Node ScreenXmlTossParser::findFirstAccountLine() {
|
||||
Node node;
|
||||
auto elements = findElementsWithPaymentsToss(m_xml, "text", "Transfer");
|
||||
if (elements.length() == 2) {
|
||||
for (QDomElement &element: elements) {
|
||||
qDebug() << "Found account: " << element.attribute("content-desc");
|
||||
}
|
||||
}
|
||||
if (!elements.isEmpty()) {
|
||||
node = convertTossDomElementToNode(elements[0].parentNode().toElement());
|
||||
}
|
||||
return node;
|
||||
}
|
||||
|
||||
|
||||
QList<TransactionInfo> ScreenXmlTossParser::parsePositiveTransactions() {
|
||||
QList<TransactionInfo> transactions;
|
||||
|
||||
QDomElement child = findElementWithPaymentsToss(m_xml, "class", "android.widget.ListView");
|
||||
QDomNodeList listView = child.childNodes();
|
||||
qDebug() << listView.count();
|
||||
if (!listView.isEmpty()) {
|
||||
QString date = "";
|
||||
|
||||
for (QDomNode node: listView) {
|
||||
QString title = node.toElement().attribute("text");
|
||||
if (title == "전체" || title.startsWith("AD") || title.endsWith("AD")) {
|
||||
continue;
|
||||
}
|
||||
if (!title.isEmpty()) {
|
||||
date = node.toElement().attribute("text");
|
||||
}
|
||||
|
||||
if (date.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const QDomNodeList trBoxGroup = node.childNodes();
|
||||
if (trBoxGroup.count() > 0) {
|
||||
TransactionInfo transaction;
|
||||
for (QDomNode item: trBoxGroup) {
|
||||
QDomElement groupItem = item.toElement();
|
||||
QString line = groupItem.attribute("text");
|
||||
if (line.contains("잔액") && line.contains("입금")) {
|
||||
QString beforeBalance = line.split("잔액").first().trimmed();
|
||||
|
||||
QString time = beforeBalance.split("입금").first().trimmed().last(5);
|
||||
QString desc = beforeBalance.split("입금").first().replace(time, "").trimmed();
|
||||
QString amount = beforeBalance.split("입금").last().replace("원", "").replace(",", "").trimmed();
|
||||
|
||||
transaction.amount = amount.toDouble();
|
||||
transaction.description = desc;
|
||||
transaction.bankTime = date + " " + time;
|
||||
transaction.completeTime = getUtcFromSeoulDate(date, time);
|
||||
}
|
||||
}
|
||||
if (transaction.amount > 0) {
|
||||
transactions.append(transaction);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
qDebug() << "ListView is empty";
|
||||
}
|
||||
return transactions;
|
||||
}
|
||||
|
||||
float extractKoreanWonFromText(const QString &input) {
|
||||
QRegularExpression re(R"(₩([\d,]+))");
|
||||
QRegularExpressionMatch match = re.match(input);
|
||||
if (!match.hasMatch()) {
|
||||
qWarning() << "Не удалось найти сумму в строке:" << input;
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
QString numberStr = match.captured(1);
|
||||
numberStr.remove(','); // удаляем запятые
|
||||
|
||||
return numberStr.toFloat();
|
||||
}
|
||||
|
||||
QList<AccountInfo> ScreenXmlTossParser::parseAccountsInfo() {
|
||||
const QDomNodeList nodes = m_xml.elementsByTagName("node");
|
||||
QList<AccountInfo> accounts;
|
||||
|
||||
for (int i = 0; i < nodes.count(); ++i) {
|
||||
const QDomElement el = nodes.at(i).toElement();
|
||||
|
||||
// 토스뱅크 통장
|
||||
if (el.attribute("content-desc").contains("토스뱅크 통장") && el.attribute("content-desc").contains("₩")) {
|
||||
AccountInfo info;
|
||||
info.amount = extractKoreanWonFromText(el.attribute("content-desc"));
|
||||
info.updateTime = DateUtils::getUtcNow();
|
||||
accounts.append(info);
|
||||
break;
|
||||
// auto amount = el.attribute("text").replace("₼", "").trimmed();
|
||||
// const QDomElement parent = el.parentNode().parentNode().toElement();
|
||||
// // Перебираем потомков
|
||||
// QDomNode n = parent.firstChild().firstChild().firstChild().firstChild();
|
||||
// while (!n.isNull()) {
|
||||
// const QDomElement e = n.toElement();
|
||||
// if (e.attribute("resource-id") == "az.kapitalbank.mbanking:id/tvNumber") {
|
||||
// const QString account = e.attribute("text");
|
||||
//
|
||||
// AccountInfo info;
|
||||
// info.lastNumbers = account;
|
||||
// info.amount = amount.toFloat();
|
||||
// info.description = account;
|
||||
// info.updateTime = DateUtils::getUtcNow();
|
||||
//
|
||||
// accounts.append(info);
|
||||
// break;
|
||||
// }
|
||||
// n = n.nextSibling();
|
||||
// }
|
||||
}
|
||||
}
|
||||
return accounts;
|
||||
}
|
||||
|
||||
void ScreenXmlTossParser::test() {
|
||||
// TransactionInfo info2 = parseExpandedInfo(m_xml);
|
||||
// qDebug().noquote().nospace() << convertTransactionToString(info2);
|
||||
// return;
|
||||
|
||||
QFile file("assets/rshb/all_products.xml");
|
||||
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
|
||||
qDebug() << "Cannot open file";
|
||||
}
|
||||
|
||||
QDomDocument doc;
|
||||
if (!doc.setContent(&file)) {
|
||||
qDebug() << "Failed to parse XML";
|
||||
}
|
||||
file.close();
|
||||
|
||||
qDebug() << "Start parsing XML:";
|
||||
|
||||
// Номер карты с последними цифрами
|
||||
QDomElement root = doc.documentElement();
|
||||
parseAndSaveXml(doc.toString());
|
||||
// for (const AccountInfo &info: parseAccountsInfo()) {
|
||||
// qDebug().noquote().nospace() << convertAccountToString(info);
|
||||
// }
|
||||
// TransactionInfo info = parseExpandedInfo(root);
|
||||
// qDebug().noquote().nospace() << convertTransactionToString(info);
|
||||
// ЕСПП
|
||||
}
|
||||
46
android/toss/ScreenXmlTossParser.h
Normal file
46
android/toss/ScreenXmlTossParser.h
Normal file
@ -0,0 +1,46 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QDomElement>
|
||||
#include "android/xml/Node.h"
|
||||
#include "db/AccountInfo.h"
|
||||
#include "db/TransactionInfo.h"
|
||||
|
||||
class ScreenXmlTossParser final : public QObject {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ScreenXmlTossParser(QObject *parent = nullptr);
|
||||
|
||||
~ScreenXmlTossParser() override;
|
||||
|
||||
Node findTextNode(const QString &text);
|
||||
|
||||
Node findTextContainsNode(const QString &text);
|
||||
|
||||
Node findFirstAccountLine();
|
||||
|
||||
Node findTextNode(const QString &text, int x1, int y1, int x2, int y2);
|
||||
|
||||
Node findEditText(const QString &text);
|
||||
|
||||
Node findEditTextByResourceId(const QString &resourceId);
|
||||
|
||||
Node findButtonNode(const QString &text, bool contains);
|
||||
|
||||
bool isHomeScreen();
|
||||
|
||||
void parseAndSaveXml(const QString &xml);
|
||||
|
||||
QList<TransactionInfo> parsePositiveTransactions();
|
||||
|
||||
QList<AccountInfo> parseAccountsInfo();
|
||||
|
||||
QList<Node> findPinCodeNodes(const QString &pinCode);
|
||||
|
||||
void test();
|
||||
|
||||
private:
|
||||
QList<Node> m_nodes;
|
||||
QDomElement m_xml;
|
||||
};
|
||||
BIN
assets/birbank/banner/block_banner.png
Normal file
BIN
assets/birbank/banner/block_banner.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
1
assets/birbank/banner/block_banner.xml
Normal file
1
assets/birbank/banner/block_banner.xml
Normal file
File diff suppressed because one or more lines are too long
BIN
assets/birbank/transaction_by_card.png
Normal file
BIN
assets/birbank/transaction_by_card.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
800
assets/birbank/transaction_by_card.xml
Normal file
800
assets/birbank/transaction_by_card.xml
Normal file
@ -0,0 +1,800 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
|
||||
<hierarchy rotation="0">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="0" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/action_bar_root"
|
||||
class="android.widget.LinearLayout" package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="android:id/content" class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2400]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/activity_drawer"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/activity_screen_container"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2337]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/root_progress_panel"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,0][1080,2337]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/transfers"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2337]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/header"
|
||||
class="android.widget.LinearLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,347]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/back_layout"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,226]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,79][1080,226]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/header_back"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc="Back"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,79][147,226]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/header_right"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc="Back"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[933,79][1080,226]" drawing-order="6"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text="На карту любого банка"
|
||||
resource-id="az.kapitalbank.mbanking:id/title"
|
||||
class="android.widget.TextView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[42,226][851,326]" drawing-order="2" hint=""/>
|
||||
</node>
|
||||
<node index="1" text="" resource-id="az.kapitalbank.mbanking:id/body"
|
||||
class="android.widget.ScrollView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,347][1080,2122]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,347][1080,2038]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/group_details"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,347][1080,2038]" drawing-order="7"
|
||||
hint=""/>
|
||||
<node index="2" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/source_container"
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,368][1080,716]" drawing-order="3" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,368][1080,716]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/product_view"
|
||||
class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,368][1080,716]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,368][1080,716]" drawing-order="1" hint="">
|
||||
<node index="0" text="Оплатить с"
|
||||
resource-id="az.kapitalbank.mbanking:id/title"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,411][248,464]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/container_product"
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,506][1038,674]"
|
||||
drawing-order="3" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="androidx.cardview.widget.CardView"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,506][1038,674]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/clContainer"
|
||||
class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false"
|
||||
bounds="[42,506][1038,674]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/card"
|
||||
class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[74,546][210,635]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_card"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="TODO"
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[74,546][210,635]"
|
||||
drawing-order="2" hint=""/>
|
||||
<node index="2" text="• 2480"
|
||||
resource-id="az.kapitalbank.mbanking:id/card_text"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[139,598][199,627]"
|
||||
drawing-order="4" hint=""/>
|
||||
</node>
|
||||
<node index="1" text="Birbank Cashback"
|
||||
resource-id="az.kapitalbank.mbanking:id/tv_card_name"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[242,538][932,581]"
|
||||
drawing-order="2" hint=""/>
|
||||
<node index="2" text="50.00 AZN"
|
||||
resource-id="az.kapitalbank.mbanking:id/tv_card_balance"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[242,591][932,642]"
|
||||
drawing-order="4" hint=""/>
|
||||
<node index="3" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_selection"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[964,569][1006,611]"
|
||||
drawing-order="7" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node index="3" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/destination_container"
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,716][1080,996]" drawing-order="4" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,716][1080,996]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text="Зачислить на"
|
||||
resource-id="az.kapitalbank.mbanking:id/title"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,758][289,822]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node NAF="true" index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_suggestion"
|
||||
class="android.view.View"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[598,737][1038,821]"
|
||||
drawing-order="3" hint=""/>
|
||||
<node index="2" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_suggestion"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc="TODO"
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[630,758][672,800]"
|
||||
drawing-order="4" hint=""/>
|
||||
<node index="3" text="Выбрать получателя"
|
||||
resource-id="az.kapitalbank.mbanking:id/tv_suggestion"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[693,758][1006,801]"
|
||||
drawing-order="5" hint=""/>
|
||||
<node index="4" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/card_view"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,822][1080,996]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,822][1080,996]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/card_number"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,822][1080,996]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/root"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,822][1038,996]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/card"
|
||||
class="androidx.cardview.widget.CardView"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false"
|
||||
bounds="[42,833][1038,985]"
|
||||
drawing-order="3" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/input_container"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[42,833][1038,985]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/input_layout"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[42,833][1038,985]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id=""
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc=""
|
||||
checkable="false"
|
||||
checked="false"
|
||||
clickable="false"
|
||||
enabled="true"
|
||||
focusable="false"
|
||||
focused="false"
|
||||
scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false"
|
||||
selected="false"
|
||||
bounds="[42,833][1038,985]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0"
|
||||
text="Номер карты"
|
||||
resource-id="az.kapitalbank.mbanking:id/value"
|
||||
class="android.widget.EditText"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc=""
|
||||
checkable="false"
|
||||
checked="false"
|
||||
clickable="true"
|
||||
enabled="true"
|
||||
focusable="true"
|
||||
focused="false"
|
||||
scrollable="false"
|
||||
long-clickable="true"
|
||||
password="false"
|
||||
selected="false"
|
||||
bounds="[42,833][1038,985]"
|
||||
drawing-order="1"
|
||||
hint="Номер карты"/>
|
||||
<node index="1" text=""
|
||||
resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc=""
|
||||
checkable="false"
|
||||
checked="false"
|
||||
clickable="false"
|
||||
enabled="true"
|
||||
focusable="false"
|
||||
focused="false"
|
||||
scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false"
|
||||
selected="false"
|
||||
bounds="[901,833][1038,985]"
|
||||
drawing-order="3" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id=""
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc=""
|
||||
checkable="false"
|
||||
checked="false"
|
||||
clickable="false"
|
||||
enabled="true"
|
||||
focusable="false"
|
||||
focused="false"
|
||||
scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false"
|
||||
selected="false"
|
||||
bounds="[901,833][1038,985]"
|
||||
drawing-order="2"
|
||||
hint="">
|
||||
<node NAF="true"
|
||||
index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/text_input_end_icon"
|
||||
class="android.widget.ImageButton"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc=""
|
||||
checkable="false"
|
||||
checked="false"
|
||||
clickable="true"
|
||||
enabled="true"
|
||||
focusable="true"
|
||||
focused="false"
|
||||
scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false"
|
||||
selected="false"
|
||||
bounds="[912,846][1038,972]"
|
||||
drawing-order="1"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node index="4" text="Детали перевода"
|
||||
resource-id="az.kapitalbank.mbanking:id/details_title"
|
||||
class="android.widget.TextView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,1038][363,1091]" drawing-order="8"
|
||||
hint=""/>
|
||||
<node index="5" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/amount_view"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,1102][1080,1535]" drawing-order="10" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,1102][1080,1535]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/amount"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,1102][739,1330]"
|
||||
drawing-order="4" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/root"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[42,1102][718,1330]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/card"
|
||||
class="androidx.cardview.widget.CardView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,1113][718,1265]"
|
||||
drawing-order="3" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/input_container"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,1113][718,1265]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/input_layout"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false"
|
||||
bounds="[42,1113][718,1265]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[42,1113][718,1265]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="Сумма"
|
||||
resource-id="az.kapitalbank.mbanking:id/value"
|
||||
class="android.widget.EditText"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="true"
|
||||
enabled="true" focusable="true"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="true"
|
||||
password="false" selected="false"
|
||||
bounds="[42,1113][718,1265]"
|
||||
drawing-order="1" hint="Сумма"/>
|
||||
<node index="1" text="" resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[581,1113][718,1265]"
|
||||
drawing-order="3" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id=""
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc=""
|
||||
checkable="false"
|
||||
checked="false"
|
||||
clickable="false"
|
||||
enabled="true"
|
||||
focusable="false"
|
||||
focused="false"
|
||||
scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false"
|
||||
selected="false"
|
||||
bounds="[581,1113][718,1265]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/text_input_end_icon"
|
||||
class="android.widget.ImageButton"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc=""
|
||||
checkable="false"
|
||||
checked="false"
|
||||
clickable="false"
|
||||
enabled="true"
|
||||
focusable="false"
|
||||
focused="false"
|
||||
scrollable="false"
|
||||
long-clickable="false"
|
||||
password="false"
|
||||
selected="false"
|
||||
bounds="[592,1126][718,1252]"
|
||||
drawing-order="1"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text="Mин: 0.01AZN, Макс: 50.00AZN"
|
||||
resource-id="az.kapitalbank.mbanking:id/helper"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[47,1276][557,1319]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/currency_view"
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[739,1113][1038,1265]"
|
||||
drawing-order="6" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[739,1113][1038,1265]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[781,1139][954,1240]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="Валюта"
|
||||
resource-id="az.kapitalbank.mbanking:id/title_view"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[781,1139][895,1182]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/spinner"
|
||||
class="android.widget.Spinner"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="true"
|
||||
enabled="true" focusable="true"
|
||||
focused="false" scrollable="true"
|
||||
long-clickable="true" password="false"
|
||||
selected="false" bounds="[781,1187][954,1240]"
|
||||
drawing-order="3" hint="">
|
||||
<node index="0" text="AZN"
|
||||
resource-id="az.kapitalbank.mbanking:id/text"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false"
|
||||
checked="false" clickable="false"
|
||||
enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false"
|
||||
bounds="[781,1187][954,1240]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/dropdown_icon"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[954,1168][996,1210]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="2" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/fixed_buttons"
|
||||
class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,1330][1080,1519]"
|
||||
drawing-order="5" hint="">
|
||||
<node index="0" text="10"
|
||||
resource-id="az.kapitalbank.mbanking:id/pay_button"
|
||||
class="android.widget.Button"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[42,1351][346,1498]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text="20"
|
||||
resource-id="az.kapitalbank.mbanking:id/pay_button"
|
||||
class="android.widget.Button"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[388,1351][692,1498]" drawing-order="2"
|
||||
hint=""/>
|
||||
<node index="2" text="50"
|
||||
resource-id="az.kapitalbank.mbanking:id/pay_button"
|
||||
class="android.widget.Button"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[734,1351][1038,1498]" drawing-order="3"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node index="2" text="" resource-id="" class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2059][1080,2143]" drawing-order="3" hint=""/>
|
||||
<node index="3" text="Продолжить" resource-id="az.kapitalbank.mbanking:id/next"
|
||||
class="android.widget.Button" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="true"
|
||||
enabled="false" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[42,2143][1038,2295]" drawing-order="6" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</hierarchy>
|
||||
BIN
assets/birbank/transactions.png
Normal file
BIN
assets/birbank/transactions.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 100 KiB |
719
assets/birbank/transactions.xml
Normal file
719
assets/birbank/transactions.xml
Normal file
@ -0,0 +1,719 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
|
||||
<hierarchy rotation="0">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="0" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/action_bar_root"
|
||||
class="android.widget.LinearLayout" package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="android:id/content" class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2400]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/activity_drawer"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/activity_screen_container"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2158]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/root_progress_panel"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,0][1080,2158]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2158]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/header"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,226]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,79][1080,226]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/header_back"
|
||||
class="android.widget.ImageView" package="az.kapitalbank.mbanking"
|
||||
content-desc="Back" checkable="false" checked="false"
|
||||
clickable="true" enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,79][147,226]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text="Переводы"
|
||||
resource-id="az.kapitalbank.mbanking:id/header_text"
|
||||
class="android.widget.TextView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[147,79][918,226]" drawing-order="4"
|
||||
hint=""/>
|
||||
<node index="2" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/header_text_one"
|
||||
class="android.widget.TextView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[918,79][995,226]" drawing-order="5"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text="" resource-id="az.kapitalbank.mbanking:id/rvCategories"
|
||||
class="androidx.recyclerview.widget.RecyclerView"
|
||||
package="az.kapitalbank.mbanking" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="true"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,247][1080,1087]" drawing-order="2" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/cellCategory"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,247][1080,415]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,247][1080,415]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_start_images"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[42,268][200,394]"
|
||||
drawing-order="3" hint=""/>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_field_l"
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,268][168,394]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_l"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,268][167,393]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="2" text="Между моими картами и счетами"
|
||||
resource-id="az.kapitalbank.mbanking:id/tv_header"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[200,307][922,356]" drawing-order="4"
|
||||
hint=""/>
|
||||
<node index="3" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_center_text"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[200,307][922,356]"
|
||||
drawing-order="6" hint=""/>
|
||||
<node index="4" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_end_icon"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[933,279][1017,384]"
|
||||
drawing-order="10" hint=""/>
|
||||
<node index="5" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_end_items"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[933,279][1017,384]"
|
||||
drawing-order="13" hint=""/>
|
||||
<node index="6" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/separator"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[168,412][1038,415]"
|
||||
drawing-order="14" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/cellCategory"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,415][1080,583]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,415][1080,583]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_start_images"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[42,436][200,562]"
|
||||
drawing-order="3" hint=""/>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_field_l"
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,436][168,562]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_l"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,436][167,561]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="2" text="На карту любого банка"
|
||||
resource-id="az.kapitalbank.mbanking:id/tv_header"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[200,475][922,524]" drawing-order="4"
|
||||
hint=""/>
|
||||
<node index="3" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_center_text"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[200,475][922,524]"
|
||||
drawing-order="6" hint=""/>
|
||||
<node index="4" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_end_icon"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[933,447][1017,552]"
|
||||
drawing-order="10" hint=""/>
|
||||
<node index="5" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_end_items"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[933,447][1017,552]"
|
||||
drawing-order="13" hint=""/>
|
||||
<node index="6" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/separator"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[168,580][1038,583]"
|
||||
drawing-order="14" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="2" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/cellCategory"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,583][1080,751]" drawing-order="3" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,583][1080,751]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_start_images"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[42,604][200,730]"
|
||||
drawing-order="3" hint=""/>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_field_l"
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,604][168,730]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_l"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,604][167,729]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="2" text="Перевод другу"
|
||||
resource-id="az.kapitalbank.mbanking:id/tv_header"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[200,643][922,692]" drawing-order="4"
|
||||
hint=""/>
|
||||
<node index="3" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_center_text"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[200,643][922,692]"
|
||||
drawing-order="6" hint=""/>
|
||||
<node index="4" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_end_icon"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[933,615][1017,720]"
|
||||
drawing-order="10" hint=""/>
|
||||
<node index="5" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_end_items"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[933,615][1017,720]"
|
||||
drawing-order="13" hint=""/>
|
||||
<node index="6" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/separator"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[168,748][1038,751]"
|
||||
drawing-order="14" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="3" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/cellCategory"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,751][1080,919]" drawing-order="4" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,751][1080,919]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_start_images"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[42,772][200,898]"
|
||||
drawing-order="3" hint=""/>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_field_l"
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,772][168,898]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_l"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,772][167,897]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="2" text="Запрос средств у друзей"
|
||||
resource-id="az.kapitalbank.mbanking:id/tv_header"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[200,811][922,860]" drawing-order="4"
|
||||
hint=""/>
|
||||
<node index="3" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_center_text"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[200,811][922,860]"
|
||||
drawing-order="6" hint=""/>
|
||||
<node index="4" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_end_icon"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[933,783][1017,888]"
|
||||
drawing-order="10" hint=""/>
|
||||
<node index="5" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_end_items"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[933,783][1017,888]"
|
||||
drawing-order="13" hint=""/>
|
||||
<node index="6" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/separator"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[168,916][1038,919]"
|
||||
drawing-order="14" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="4" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/cellCategory"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,919][1080,1087]" drawing-order="5" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,919][1080,1087]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_start_images"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[42,940][200,1066]"
|
||||
drawing-order="3" hint=""/>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_field_l"
|
||||
class="android.widget.FrameLayout"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,940][168,1066]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_start_icon_l"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[42,940][168,1066]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="2" text="Перевод через AniPay"
|
||||
resource-id="az.kapitalbank.mbanking:id/tv_header"
|
||||
class="android.widget.TextView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[200,979][922,1028]"
|
||||
drawing-order="4" hint=""/>
|
||||
<node index="3" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_center_text"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[200,979][922,1028]"
|
||||
drawing-order="6" hint=""/>
|
||||
<node index="4" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/iv_end_icon"
|
||||
class="android.widget.ImageView"
|
||||
package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[933,951][1017,1056]"
|
||||
drawing-order="10" hint=""/>
|
||||
<node index="5" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/flow_end_items"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[933,951][1017,1056]" drawing-order="13" hint=""/>
|
||||
<node index="6" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/separator"
|
||||
class="android.view.View" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[168,1084][1038,1087]" drawing-order="14" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/bnv_activity_screen_navigation"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2158][1080,2400]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="az.kapitalbank.mbanking" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,2158][1080,2305]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="az.kapitalbank.mbanking:id/tab_home"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="Главная" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="true"
|
||||
bounds="[0,2158][216,2305]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_labels_group"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="true"
|
||||
bounds="[59,2236][157,2305]" drawing-order="2" hint="">
|
||||
<node index="0" text="Главная"
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_large_label_view"
|
||||
class="android.widget.TextView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="true"
|
||||
bounds="[59,2236][157,2302]" drawing-order="2" hint=""/>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_container"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="true"
|
||||
bounds="[76,2179][139,2242]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_view"
|
||||
class="android.widget.ImageView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="true"
|
||||
bounds="[76,2179][139,2242]" drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text="" resource-id="az.kapitalbank.mbanking:id/tab_umico_market"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="Выгода" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[216,2158][432,2305]" drawing-order="2" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_labels_group"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[278,2236][369,2305]" drawing-order="2" hint="">
|
||||
<node index="0" text="Выгода"
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_small_label_view"
|
||||
class="android.widget.TextView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[278,2236][369,2302]" drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_container"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[292,2179][355,2242]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_view"
|
||||
class="android.widget.ImageView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[292,2179][355,2242]" drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="2" text="" resource-id="az.kapitalbank.mbanking:id/tab_qr"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="QR" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[432,2158][648,2305]" drawing-order="3" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_container"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[508,2179][571,2242]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_view"
|
||||
class="android.widget.ImageView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[508,2179][571,2242]" drawing-order="2" hint=""/>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_labels_group"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[522,2236][557,2305]" drawing-order="2" hint="">
|
||||
<node index="0" text="QR"
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_small_label_view"
|
||||
class="android.widget.TextView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[522,2236][556,2302]" drawing-order="1" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="3" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/tab_payments_and_transfers"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="Платежи" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[648,2158][864,2305]" drawing-order="4" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_labels_group"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[701,2236][810,2305]" drawing-order="2" hint="">
|
||||
<node index="0" text="Платежи"
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_small_label_view"
|
||||
class="android.widget.TextView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[701,2236][810,2302]" drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_container"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[724,2179][787,2242]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_view"
|
||||
class="android.widget.ImageView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[724,2179][787,2242]" drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="4" text="" resource-id="az.kapitalbank.mbanking:id/tab_more"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="Еще" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[864,2158][1080,2305]" drawing-order="5" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_container"
|
||||
class="android.widget.FrameLayout" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[940,2179][1003,2242]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_icon_view"
|
||||
class="android.widget.ImageView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[940,2179][1003,2242]" drawing-order="2" hint=""/>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_labels_group"
|
||||
class="android.view.ViewGroup" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[946,2236][998,2305]" drawing-order="2" hint="">
|
||||
<node index="0" text="Еще"
|
||||
resource-id="az.kapitalbank.mbanking:id/navigation_bar_item_small_label_view"
|
||||
class="android.widget.TextView" package="az.kapitalbank.mbanking"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[946,2236][998,2302]" drawing-order="1" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</hierarchy>
|
||||
BIN
assets/toss/bank_main_screen.png
Normal file
BIN
assets/toss/bank_main_screen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 198 KiB |
738
assets/toss/bank_main_screen.xml
Normal file
738
assets/toss/bank_main_screen.xml
Normal file
@ -0,0 +1,738 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
|
||||
<hierarchy rotation="0">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="0" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2337]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,136][1080,2337]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/action_bar_root"
|
||||
class="android.widget.LinearLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,136][1080,2337]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="android:id/content" class="android.widget.FrameLayout"
|
||||
package="viva.republica.toss" content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false" bounds="[0,136][1080,2337]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false" bounds="[0,136][1080,2337]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/app_bar_layout"
|
||||
class="android.widget.LinearLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,136][1080,279]" drawing-order="3" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/toolbar"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,136][1080,278]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.ImageButton"
|
||||
package="viva.republica.toss" content-desc="Navigate up" checkable="false"
|
||||
checked="false" clickable="true" enabled="true" focusable="true"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,136][147,278]" drawing-order="1" hint=""/>
|
||||
<node index="1" text="" resource-id=""
|
||||
class="androidx.appcompat.widget.LinearLayoutCompat"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[826,136][1048,278]" drawing-order="2" hint="">
|
||||
<node index="0" text="Manage"
|
||||
resource-id="viva.republica.toss:id/accessory_button"
|
||||
class="android.widget.Button" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[826,144][1048,270]" drawing-order="1" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/top_tab"
|
||||
class="android.widget.FrameLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,279][1080,413]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/tabBorder"
|
||||
class="android.view.View" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,412][1080,413]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/tabLayout"
|
||||
class="android.widget.HorizontalScrollView" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[53,279][1027,413]" drawing-order="2"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[53,279][1027,413]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc="Account" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="true"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="true" bounds="[53,279][377,413]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="true" bounds="[53,318][377,374]"
|
||||
drawing-order="3" hint="">
|
||||
<node index="0" text="Account" resource-id="android:id/text1"
|
||||
class="android.widget.TextView" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="true" bounds="[128,318][303,374]" drawing-order="1"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text="" resource-id="" class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc="My Toss Bank"
|
||||
checkable="false" checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[377,279][702,413]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[377,318][702,374]"
|
||||
drawing-order="3" hint="">
|
||||
<node index="0" text="My Toss Bank" resource-id="android:id/text1"
|
||||
class="android.widget.TextView" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[400,318][679,374]" drawing-order="1"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="2" text="" resource-id="" class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc="Products" checkable="false"
|
||||
checked="false" clickable="true" enabled="true" focusable="true"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[702,279][1027,413]" drawing-order="3" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[702,318][1027,374]"
|
||||
drawing-order="3" hint="">
|
||||
<node index="0" text="Products" resource-id="android:id/text1"
|
||||
class="android.widget.TextView" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[770,318][959,374]" drawing-order="1"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node index="2" text="" resource-id="viva.republica.toss:id/view_pager"
|
||||
class="androidx.viewpager.widget.ViewPager" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="true" focused="false" scrollable="true" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,413][1080,2337]" drawing-order="2"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/lab_frame_layout"
|
||||
class="android.widget.FrameLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,413][1080,2337]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/lab_web_view_container"
|
||||
class="android.widget.ViewAnimator" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,413][1080,2337]" drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/lab_swipe_refresh_layout"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,413][1080,2337]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.webkit.WebView"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,413][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.webkit.WebView"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="true"
|
||||
focused="true" scrollable="true" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,413][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,413][1080,2337]" drawing-order="0"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id="__next"
|
||||
class="android.view.View" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,413][1080,2337]" drawing-order="0" hint="">
|
||||
<node index="0" text="토스뱅크 1002-0112-4440" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[63,623][821,678]" drawing-order="0" hint="">
|
||||
<node index="0" text="토스뱅크 1002-0112-4440"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[49,623][464,667]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="1" text="1만 1원" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[63,675][821,775]" drawing-order="0" hint=""/>
|
||||
<node index="2" text="card" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[826,667][1018,775]" drawing-order="0"
|
||||
hint=""/>
|
||||
<node index="3" text="Top up" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[63,835][527,964]" drawing-order="0" hint=""/>
|
||||
<node index="4" text="Send" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[553,835][1018,964]" drawing-order="0"
|
||||
hint=""/>
|
||||
<node index="5"
|
||||
text="Interest accrued until yesterday Get ₩2 now"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,982][1080,1153]" drawing-order="0"
|
||||
hint=""/>
|
||||
<node index="6" text="" resource-id=""
|
||||
class="android.widget.ListView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,1213][1080,2337]" drawing-order="0"
|
||||
hint="">
|
||||
<node index="0" text="전체" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,1213][273,1321]" drawing-order="0"
|
||||
hint=""/>
|
||||
<node index="1" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="검색"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[939,1234][1042,1337]" drawing-order="0"
|
||||
hint=""/>
|
||||
<node index="2" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,1339][1080,1607]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="AD" resource-id=""
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[63,1355][110,1400]" drawing-order="0"
|
||||
hint=""/>
|
||||
<node index="1"
|
||||
text="BRAVOKOREA 외국인도 대출 OK 전북은행 브라보코리아 • AD 준법감시인 심의필 제2025-나-1624호 (유효기간 : 2026. 3. 31 까지)"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,1402][1080,1607]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="3" text="7월 28일" resource-id=""
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[63,1633][191,1688]"
|
||||
drawing-order="0" hint=""/>
|
||||
<node index="4" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,1683][1080,1862]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0"
|
||||
text="KHAN STANI 18:04 출금-2원 잔액 10,001원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,1683][1080,1862]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="5" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,1859][1080,2037]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="토스542 17:54 입금1원 잔액 10,003원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,1859][1080,2037]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="6" text="7월 25일" resource-id=""
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[63,2066][191,2119]"
|
||||
drawing-order="0" hint=""/>
|
||||
<node index="7" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2116][1080,2295]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="토스338 01:16 입금1원 잔액 10,002원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2116][1080,2295]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="8" text="7월 24일" resource-id=""
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[63,2324][189,2337]"
|
||||
drawing-order="0" hint=""/>
|
||||
<node index="9" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="토스662 20:44 입금1원 잔액 10,001원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="10" text="7월 22일" resource-id=""
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[63,2337][191,2337]"
|
||||
drawing-order="0" hint=""/>
|
||||
<node index="11" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0"
|
||||
text="KHAN STANI 01:52 출금-3원 잔액 10,000원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="12" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0"
|
||||
text="KHAN STANI 01:49 출금-2원 잔액 10,003원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="13" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="토스584 01:47 입금1원 잔액 10,005원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="14" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="토스858 01:30 입금1원 잔액 10,004원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="15" text="7월 21일" resource-id=""
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[63,2337][186,2337]"
|
||||
drawing-order="0" hint=""/>
|
||||
<node index="16" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="토스468 12:45 입금1원 잔액 10,003원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="17" text="7월 20일" resource-id=""
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[63,2337][191,2337]"
|
||||
drawing-order="0" hint=""/>
|
||||
<node index="18" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0"
|
||||
text="양준모 18:36 입금10,000원 잔액 10,002원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="19" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="토스248 11:09 입금1원 잔액 2원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="20" text="7월 19일" resource-id=""
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[63,2337][189,2337]"
|
||||
drawing-order="0" hint=""/>
|
||||
<node index="21" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0" text="토스511 07:55 입금1원 잔액 1원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="22" text="6월 16일" resource-id=""
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[63,2337][186,2337]"
|
||||
drawing-order="0" hint=""/>
|
||||
<node index="23" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0"
|
||||
text="MILAN_한패스 14:11 출금-1,500원 잔액 0원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="24" text="" resource-id=""
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,2337][1080,2337]"
|
||||
drawing-order="0" hint="">
|
||||
<node index="0"
|
||||
text="한패스MILAN 14:08 입금1,500원 잔액 1,500원"
|
||||
resource-id="" class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="true" enabled="true"
|
||||
focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="7" text="" resource-id="portal-container"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
<node index="8" text=""
|
||||
resource-id="tds-mobile-portal-container"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
<node index="9" text=""
|
||||
resource-id="tds-mobile-portal-container"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[0,2337][1080,2337]" drawing-order="0"
|
||||
hint=""/>
|
||||
</node>
|
||||
<node index="1" text="" resource-id="" class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][0,0]" drawing-order="0"
|
||||
hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="__next-route-announcer__"
|
||||
class="android.view.View"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,0][0,0]"
|
||||
drawing-order="0" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</hierarchy>
|
||||
BIN
assets/toss/home_screen.png
Normal file
BIN
assets/toss/home_screen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 175 KiB |
1401
assets/toss/home_screen.xml
Normal file
1401
assets/toss/home_screen.xml
Normal file
File diff suppressed because it is too large
Load Diff
350
assets/toss/pin_code.xml
Normal file
350
assets/toss/pin_code.xml
Normal file
@ -0,0 +1,350 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
|
||||
<hierarchy rotation="0">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2186]">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2186]">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2186]">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/action_bar_root"
|
||||
class="android.widget.LinearLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2186]">
|
||||
<node index="0" text="" resource-id="android:id/content" class="android.widget.FrameLayout"
|
||||
package="viva.republica.toss" content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2186]">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2186]">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/password_container"
|
||||
class="android.widget.FrameLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2186]">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/container_root"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,0][1080,2186]">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/background_image"
|
||||
class="android.widget.ImageView" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,0][1080,2186]"/>
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/background_blur"
|
||||
class="android.view.View" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,0][1080,2186]"/>
|
||||
<node index="2" text="" resource-id="viva.republica.toss:id/container_content"
|
||||
class="android.widget.LinearLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2186]">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/space_status_bar"
|
||||
class="android.view.View" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,87]"/>
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/space_top"
|
||||
class="android.view.View" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,87][1080,229]"/>
|
||||
<node index="2" text="" resource-id="viva.republica.toss:id/scroll_view"
|
||||
class="android.widget.ScrollView" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,229][1080,1312]">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,229][1080,1312]">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.RelativeLayout"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,229][1080,1312]">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/container_password_input"
|
||||
class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,594][1080,817]">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,594][1080,665]">
|
||||
<node index="0" text="Enter PIN"
|
||||
resource-id="viva.republica.toss:id/password_tvInfo"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[420,594][660,665]"/>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="viva.republica.toss:id/password_llInput"
|
||||
class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,728][1080,817]">
|
||||
<node index="0" text="●"
|
||||
resource-id="viva.republica.toss:id/password_tvInput1"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss"
|
||||
content-desc="PIN 1 character, not entered"
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[255,728][315,806]"/>
|
||||
<node index="1" text="●"
|
||||
resource-id="viva.republica.toss:id/password_tvInput2"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss"
|
||||
content-desc="PIN 2 character, not entered"
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[357,728][417,806]"/>
|
||||
<node index="2" text="●"
|
||||
resource-id="viva.republica.toss:id/password_tvInput3"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss"
|
||||
content-desc="PIN 3 character, not entered"
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[459,728][519,806]"/>
|
||||
<node index="3" text="●"
|
||||
resource-id="viva.republica.toss:id/password_tvInput4"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss"
|
||||
content-desc="PIN 4 character, not entered"
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[561,728][621,806]"/>
|
||||
<node index="4" text="●"
|
||||
resource-id="viva.republica.toss:id/password_tvInput5"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss"
|
||||
content-desc="PIN 5 character, not entered"
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[663,728][723,806]"/>
|
||||
<node index="5" text="●"
|
||||
resource-id="viva.republica.toss:id/password_tvInput6"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss"
|
||||
content-desc="PIN 6 character, not entered"
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[765,728][825,806]"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node index="3" text=""
|
||||
resource-id="viva.republica.toss:id/password_scroll_view"
|
||||
class="android.widget.ScrollView" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[11,1312][1069,2186]">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/password_container"
|
||||
class="android.widget.LinearLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[32,1312][1048,2186]">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/password_llNumberpad"
|
||||
class="android.widget.LinearLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[32,1312][1048,2186]">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[32,1323][1048,1555]">
|
||||
<node index="0" text="9"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber1"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[32,1323][371,1555]"/>
|
||||
<node index="1" text="5"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber2"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[371,1323][710,1555]"/>
|
||||
<node index="2" text="8"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber3"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[710,1323][1048,1555]"/>
|
||||
</node>
|
||||
<node index="1" text="" resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[32,1555][1048,1786]">
|
||||
<node index="0" text="3"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber4"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[32,1555][371,1786]"/>
|
||||
<node index="1" text="1"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber5"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[371,1555][710,1786]"/>
|
||||
<node index="2" text="7"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber6"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[710,1555][1048,1786]"/>
|
||||
</node>
|
||||
<node index="2" text="" resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[32,1786][1048,2017]">
|
||||
<node index="0" text="6"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber7"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[32,1786][371,2017]"/>
|
||||
<node index="1" text="2"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber8"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[371,1786][710,2017]"/>
|
||||
<node index="2" text="4"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber9"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[710,1786][1048,2017]"/>
|
||||
</node>
|
||||
<node index="3" text="" resource-id=""
|
||||
class="android.widget.LinearLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[32,2017][1048,2186]">
|
||||
<node NAF="true" index="0" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[32,2017][371,2186]"/>
|
||||
<node index="1" text="0"
|
||||
resource-id="viva.republica.toss:id/password_btnNumber0"
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[371,2017][710,2186]"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/app_bar_layout"
|
||||
class="android.widget.LinearLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,229]">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/toolbar"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,87][1080,229]">
|
||||
<node index="0" text="" resource-id="" class="android.widget.ImageButton"
|
||||
package="viva.republica.toss" content-desc="Navigate up" checkable="false"
|
||||
checked="false" clickable="true" enabled="true" focusable="true"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,87][147,229]"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</hierarchy>
|
||||
BIN
assets/toss/toss_banks.png
Normal file
BIN
assets/toss/toss_banks.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 174 KiB |
945
assets/toss/toss_banks.xml
Normal file
945
assets/toss/toss_banks.xml
Normal file
@ -0,0 +1,945 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
|
||||
<hierarchy rotation="0">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="0" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/action_bar_root"
|
||||
class="android.widget.FrameLayout" package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="android:id/content" class="android.widget.FrameLayout"
|
||||
package="viva.republica.toss" content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2400]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/container"
|
||||
class="android.widget.FrameLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/coordinator"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/touch_outside"
|
||||
class="android.view.View" package="viva.republica.toss" content-desc="Close"
|
||||
checkable="false" checked="false" clickable="true" enabled="true" focusable="true"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2400]" drawing-order="1" hint=""/>
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/design_bottom_sheet"
|
||||
class="android.widget.FrameLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,104][1080,2400]" drawing-order="2"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,104][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/sheet"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[26,544][1054,2311]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/handle"
|
||||
class="android.widget.ImageView" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[477,544][603,586]" drawing-order="1" hint=""/>
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/content"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[26,586][1054,2311]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[26,586][1054,2311]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/header"
|
||||
class="android.widget.FrameLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[26,586][1054,771]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[26,586][1054,771]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="Please select the bank"
|
||||
resource-id="viva.republica.toss:id/title"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[89,649][991,718]" drawing-order="1" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="viva.republica.toss:id/bankListViewContainer"
|
||||
class="android.widget.FrameLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[79,771][1001,2311]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.GridView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="true" long-clickable="false" password="false"
|
||||
selected="false" bounds="[79,771][1001,2311]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="NongHyup"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,782][375,1001]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,782][375,1001]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,819][270,893]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text="NongHyup"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[144,914][321,964]" drawing-order="2"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="KakaoBank"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[397,782][682,1001]" drawing-order="2"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,782][682,1001]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,819][577,893]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text="KakaoBank"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[447,914][632,964]" drawing-order="2"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="2" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Kookmin"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,782][990,1001]" drawing-order="3"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,782][990,1001]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,819][884,893]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text="Kookmin"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[774,914][921,964]" drawing-order="2"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="3" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Toss Bank"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,1023][375,1242]" drawing-order="4"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1023][375,1242]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,1060][270,1134]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Toss Bank"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[150,1155][316,1205]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="4" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Shinhan"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[397,1023][682,1242]" drawing-order="5"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1023][682,1242]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1060][577,1134]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Shinhan"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[472,1155][607,1205]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="5" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Woori"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,1023][990,1242]" drawing-order="6"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,1023][990,1242]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,1060][884,1134]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Woori"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[798,1155][896,1205]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="6" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="IBK"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,1264][375,1483]" drawing-order="7"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1264][375,1483]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,1301][270,1375]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="IBK"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[205,1396][260,1446]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="7" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Hana"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[397,1264][682,1483]" drawing-order="8"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1264][682,1483]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1301][577,1375]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Hana"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[497,1396][582,1446]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="8" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="MG"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,1264][990,1483]" drawing-order="9"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,1264][990,1483]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,1301][884,1375]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="MG"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[818,1396][876,1446]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="9" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss"
|
||||
content-desc="Busan Bank" checkable="false"
|
||||
checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1505][375,1779]"
|
||||
drawing-order="10" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1505][375,1724]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,1542][270,1616]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Busan Bank"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[136,1637][329,1687]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="10" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss"
|
||||
content-desc="iM Bank(Daegu)" checkable="false"
|
||||
checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1505][682,1779]"
|
||||
drawing-order="11" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1505][682,1779]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1542][577,1616]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="iM Bank(Daegu)"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[418,1637][661,1742]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="11" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Kbank"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,1505][990,1779]" drawing-order="12"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,1505][990,1724]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,1542][884,1616]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Kbank"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[794,1637][900,1687]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="12" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss"
|
||||
content-desc="Credit Union" checkable="false"
|
||||
checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1801][375,2020]"
|
||||
drawing-order="13" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1801][375,2020]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,1838][270,1912]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Credit Union"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[129,1933][337,1983]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="13" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss"
|
||||
content-desc="Postal Sav." checkable="false"
|
||||
checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1801][682,2020]"
|
||||
drawing-order="14" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1801][682,2020]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1838][577,1912]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Postal Sav."
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[453,1933][627,1983]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="14" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="SC"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,1801][990,2020]" drawing-order="15"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,1801][990,2020]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,1838][884,1912]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="SC"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[823,1933][872,1983]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="15" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Kyongnam"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,2042][375,2261]" drawing-order="16"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,2042][375,2261]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,2079][270,2153]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Kyongnam"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[145,2174][321,2224]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="16" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Kwangju"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[397,2042][682,2261]" drawing-order="17"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,2042][682,2261]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,2079][577,2153]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Kwangju"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[470,2174][610,2224]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="17" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Suhyup"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,2042][990,2261]" drawing-order="18"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,2042][990,2261]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,2079][884,2153]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Suhyup"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[784,2174][910,2224]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="18" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Jeonbuk"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,2283][375,2311]" drawing-order="19"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,2283][375,2311]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="19" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss"
|
||||
content-desc="Savings Banks" checkable="false"
|
||||
checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,2283][682,2311]"
|
||||
drawing-order="20" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,2283][682,2311]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="20" text="" resource-id=""
|
||||
class="android.widget.Button"
|
||||
package="viva.republica.toss" content-desc="Jeju Bank"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,2283][990,2311]" drawing-order="21"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,2283][990,2311]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</hierarchy>
|
||||
962
assets/toss/toss_banks_2.xml
Normal file
962
assets/toss/toss_banks_2.xml
Normal file
@ -0,0 +1,962 @@
|
||||
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
|
||||
<hierarchy rotation="0">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="0" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.LinearLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/action_bar_root"
|
||||
class="android.widget.FrameLayout" package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false" selected="false"
|
||||
bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="android:id/content" class="android.widget.FrameLayout"
|
||||
package="viva.republica.toss" content-desc="" checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false" bounds="[0,0][1080,2400]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/container"
|
||||
class="android.widget.FrameLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/coordinator"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/touch_outside"
|
||||
class="android.view.View" package="viva.republica.toss" content-desc="Close"
|
||||
checkable="false" checked="false" clickable="true" enabled="true" focusable="true"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,0][1080,2400]" drawing-order="1" hint=""/>
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/design_bottom_sheet"
|
||||
class="android.widget.FrameLayout" package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false" enabled="true"
|
||||
focusable="false" focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[0,104][1080,2400]" drawing-order="2"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[0,104][1080,2400]" drawing-order="1" hint="">
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/sheet"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[26,544][1054,2311]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/handle"
|
||||
class="android.widget.ImageView" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[477,544][603,586]" drawing-order="1" hint=""/>
|
||||
<node index="1" text="" resource-id="viva.republica.toss:id/content"
|
||||
class="android.view.ViewGroup" package="viva.republica.toss"
|
||||
content-desc="" checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false" selected="false"
|
||||
bounds="[26,586][1054,2311]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id="" class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="" checkable="false"
|
||||
checked="false" clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false" long-clickable="false"
|
||||
password="false" selected="false" bounds="[26,586][1054,2311]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id="viva.republica.toss:id/header"
|
||||
class="android.widget.FrameLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[26,586][1054,771]" drawing-order="1"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[26,586][1054,771]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="Please select the bank"
|
||||
resource-id="viva.republica.toss:id/title"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[89,649][991,718]" drawing-order="1" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="1" text=""
|
||||
resource-id="viva.republica.toss:id/bankListViewContainer"
|
||||
class="android.widget.FrameLayout"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false" password="false"
|
||||
selected="false" bounds="[79,771][1001,2311]"
|
||||
drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.widget.GridView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="true" long-clickable="false" password="false"
|
||||
selected="false" bounds="[79,771][1001,2311]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="Kyongnam"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,771][375,788]" drawing-order="1" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,771][375,788]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="1" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="Kwangju"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[397,771][682,788]" drawing-order="2" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,771][682,788]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="2" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="Suhyup"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,771][990,788]" drawing-order="3" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,771][990,788]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="3" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="Jeonbuk"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,810][375,1029]" drawing-order="4" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,810][375,1029]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,847][270,921]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text="Jeonbuk"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[160,942][306,992]" drawing-order="2"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="4" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss"
|
||||
content-desc="Savings Banks" checkable="false"
|
||||
checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,810][682,1029]"
|
||||
drawing-order="5" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,810][682,1029]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,847][577,921]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text="Savings Banks"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[421,942][658,992]" drawing-order="2"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="5" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="Jeju Bank"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,810][990,1029]" drawing-order="6"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,810][990,1029]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,847][884,921]" drawing-order="1"
|
||||
hint=""/>
|
||||
<node index="1" text="Jeju Bank"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[767,942][927,992]" drawing-order="2"
|
||||
hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="6" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="Citibank"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,1051][375,1270]" drawing-order="7"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1051][375,1270]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,1088][270,1162]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Citibank"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[163,1183][303,1233]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="7" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="KDB"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[397,1051][682,1270]" drawing-order="8"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1051][682,1270]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1088][577,1162]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="KDB"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1183][576,1233]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="8" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="NFCF"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,1051][990,1270]" drawing-order="9"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,1051][990,1270]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,1088][884,1162]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="NFCF"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[800,1183][895,1233]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="9" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="SBI Sav."
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,1292][375,1511]" drawing-order="10"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1292][375,1511]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,1329][270,1403]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="SBI Sav."
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[169,1424][297,1474]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="10" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="BOA"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[397,1292][682,1511]" drawing-order="11"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1292][682,1511]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1329][577,1403]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="BOA"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1424][577,1474]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="11" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss"
|
||||
content-desc="Bank of China" checkable="false"
|
||||
checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,1292][990,1511]"
|
||||
drawing-order="12" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,1292][990,1511]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,1329][884,1403]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Bank of China"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[734,1424][961,1474]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="12" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="HSBC"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,1533][375,1752]" drawing-order="13"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1533][375,1752]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,1570][270,1644]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="HSBC"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[183,1665][282,1715]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="13" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="ICBC"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[397,1533][682,1752]" drawing-order="14"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1533][682,1752]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1570][577,1644]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="ICBC"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[497,1665][582,1715]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="14" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="Deutsche"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,1533][990,1752]" drawing-order="15"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,1533][990,1752]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,1570][884,1644]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Deutsche"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[767,1665][927,1715]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="15" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="JPMorgan"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,1774][375,1993]" drawing-order="16"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,1774][375,1993]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,1811][270,1885]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="JPMorgan"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[149,1906][317,1956]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="16" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss"
|
||||
content-desc="BNP Paribas" checkable="false"
|
||||
checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1774][682,1993]"
|
||||
drawing-order="17" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,1774][682,1993]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,1811][577,1885]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="BNP Paribas"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[439,1906][640,1956]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="17" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="CCB"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[704,1774][990,1993]" drawing-order="18"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,1774][990,1993]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,1811][884,1885]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="CCB"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[809,1906][885,1956]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="18" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false" clickable="false"
|
||||
enabled="true" focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[79,2004][1001,2157]" drawing-order="19"
|
||||
hint="">
|
||||
<node index="0" text="Select securities company"
|
||||
resource-id="viva.republica.toss:id/title"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,2078][990,2136]"
|
||||
drawing-order="1" hint=""/>
|
||||
</node>
|
||||
<node index="19" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="Toss Sec."
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[90,2168][375,2311]" drawing-order="20"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[90,2168][375,2311]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[196,2205][270,2279]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Toss Sec."
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[156,2300][310,2311]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="20" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc="Kakao Pay"
|
||||
checkable="false" checked="false" clickable="true"
|
||||
enabled="true" focusable="true" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[397,2168][682,2311]" drawing-order="21"
|
||||
hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[397,2168][682,2311]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[503,2205][577,2279]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Kakao Pay"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[456,2300][624,2311]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
<node index="21" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss"
|
||||
content-desc="Mirae Asset" checkable="false"
|
||||
checked="false" clickable="true" enabled="true"
|
||||
focusable="true" focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,2168][990,2311]"
|
||||
drawing-order="22" hint="">
|
||||
<node index="0" text="" resource-id=""
|
||||
class="android.view.ViewGroup"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true" focusable="false"
|
||||
focused="false" scrollable="false"
|
||||
long-clickable="false" password="false"
|
||||
selected="false" bounds="[704,2168][990,2311]"
|
||||
drawing-order="1" hint="">
|
||||
<node index="0" text=""
|
||||
resource-id="viva.republica.toss:id/icon"
|
||||
class="android.widget.ImageView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[810,2205][884,2279]"
|
||||
drawing-order="1" hint=""/>
|
||||
<node index="1" text="Mirae Asset"
|
||||
resource-id="viva.republica.toss:id/name"
|
||||
class="android.widget.TextView"
|
||||
package="viva.republica.toss" content-desc=""
|
||||
checkable="false" checked="false"
|
||||
clickable="false" enabled="true"
|
||||
focusable="false" focused="false"
|
||||
scrollable="false" long-clickable="false"
|
||||
password="false" selected="false"
|
||||
bounds="[751,2300][943,2311]"
|
||||
drawing-order="2" hint=""/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</hierarchy>
|
||||
Binary file not shown.
@ -12,7 +12,7 @@
|
||||
#include <QThread>
|
||||
|
||||
#include "birbank/LoginAndCheckAccountsBirbankScript.h"
|
||||
#include "common/PaddedItemDelegate.h"
|
||||
#include "toss/LoginAndCheckAccountsTossScript.h"
|
||||
#include "dao/AccountDAO.h"
|
||||
#include "dao/ApplicationDAO.h"
|
||||
#include "device/EditBankAccountDialog.h"
|
||||
@ -125,7 +125,9 @@ AccountSettingsWindow::AccountSettingsWindow(
|
||||
if (!m_applicationInfo.pinCode.isEmpty()) {
|
||||
QMessageBox msgBox(this);
|
||||
msgBox.setWindowTitle(tr("Запустить проверку пин-кода?"));
|
||||
msgBox.setText("Запуститься скрипт проверки входа в банк " + m_applicationInfo.name + " по пин-коду. Окно с настройками закроется.");
|
||||
msgBox.setText(
|
||||
"Запуститься скрипт проверки входа в банк " + m_applicationInfo.name +
|
||||
" по пин-коду. Окно с настройками закроется.");
|
||||
|
||||
QPushButton *deleteBtn = msgBox.addButton(tr("Запустить"), QMessageBox::AcceptRole);
|
||||
QPushButton *closeBtn = msgBox.addButton(tr("Отмена"), QMessageBox::RejectRole);
|
||||
@ -205,7 +207,15 @@ void AccountSettingsWindow::startCheckPinCode(const QString &appCode) {
|
||||
connect(worker, &LoginAndCheckAccountsBirbankScript::finished, worker, &QObject::deleteLater);
|
||||
connect(thread, &QThread::finished, thread, &QObject::deleteLater);
|
||||
thread->start();
|
||||
} else if (appCode == "ziraat") {
|
||||
} else if (appCode == "toss") {
|
||||
const auto thread = new QThread(nullptr);
|
||||
auto *worker = new LoginAndCheckAccountsTossScript(m_deviceId, appCode, nullptr);
|
||||
worker->moveToThread(thread);
|
||||
connect(thread, &QThread::started, worker, &LoginAndCheckAccountsTossScript::start);
|
||||
connect(worker, &LoginAndCheckAccountsTossScript::finished, thread, &QThread::quit);
|
||||
connect(worker, &LoginAndCheckAccountsTossScript::finished, worker, &QObject::deleteLater);
|
||||
connect(thread, &QThread::finished, thread, &QObject::deleteLater);
|
||||
thread->start();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user