mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-11-17 01:37:40 +00:00
CWA-69 | added focusNode to address_text_field, got recipient name in the openalias, added focusNode listener in the send_page
This commit is contained in:
parent
91091a8d19
commit
dde482c4f6
2 changed files with 25 additions and 21 deletions
|
@ -13,34 +13,38 @@ String formatDomainName(String name) {
|
||||||
Future<Map<String, String>> fetchXmrAddressAndRecipientName(String name) async {
|
Future<Map<String, String>> fetchXmrAddressAndRecipientName(String name) async {
|
||||||
final map = {"recipient_address" : name, "recipient_name" : name};
|
final map = {"recipient_address" : name, "recipient_name" : name};
|
||||||
|
|
||||||
await DnsUtils.lookupRecord(name, RRecordType.TXT, dnssec: true).then((txtRecord) {
|
try {
|
||||||
if (txtRecord != null) {
|
await DnsUtils.lookupRecord(name, RRecordType.TXT, dnssec: true).then((txtRecord) {
|
||||||
String record;
|
if (txtRecord != null) {
|
||||||
|
String record;
|
||||||
|
|
||||||
for (int i = 0; i < txtRecord.length; i++) {
|
for (int i = 0; i < txtRecord.length; i++) {
|
||||||
record = txtRecord[i].data;
|
record = txtRecord[i].data;
|
||||||
|
|
||||||
if (record.contains("oa1:xmr") && record.contains("recipient_address")) {
|
if (record.contains("oa1:xmr") && record.contains("recipient_address")) {
|
||||||
record = record.replaceAll('\"', "");
|
record = record.replaceAll('\"', "");
|
||||||
|
|
||||||
final dataList = record.split(";");
|
final dataList = record.split(";");
|
||||||
|
|
||||||
map["recipient_address"] = dataList.where((item) => (item.contains("recipient_address")))
|
map["recipient_address"] = dataList.where((item) => (item.contains("recipient_address")))
|
||||||
.toString().replaceAll("oa1:xmr recipient_address=", "")
|
.toString().replaceAll("oa1:xmr recipient_address=", "")
|
||||||
.replaceAll("(", "").replaceAll(")", "").trim();
|
|
||||||
|
|
||||||
final recipientName = dataList.where((item) => (item.contains("recipient_name"))).toString();
|
|
||||||
|
|
||||||
if (recipientName.isNotEmpty) {
|
|
||||||
map["recipient_name"] = recipientName.replaceAll("recipient_name=", "")
|
|
||||||
.replaceAll("(", "").replaceAll(")", "").trim();
|
.replaceAll("(", "").replaceAll(")", "").trim();
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
final recipientName = dataList.where((item) => (item.contains("recipient_name"))).toString();
|
||||||
|
|
||||||
|
if (recipientName.isNotEmpty) {
|
||||||
|
map["recipient_name"] = recipientName.replaceAll("recipient_name=", "")
|
||||||
|
.replaceAll("(", "").replaceAll(")", "").trim();
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
});
|
} catch (e) {
|
||||||
|
print("${e.toString()}");
|
||||||
|
}
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
|
@ -58,7 +58,7 @@ class SendFormState extends State<SendForm> {
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
_focusNode.addListener(() async {
|
_focusNode.addListener(() async {
|
||||||
if (_addressController.text.isNotEmpty) {
|
if (!_focusNode.hasFocus &&_addressController.text.isNotEmpty) {
|
||||||
await fetchXmrAddressAndRecipientName(formatDomainName(_addressController.text)).then((map) async {
|
await fetchXmrAddressAndRecipientName(formatDomainName(_addressController.text)).then((map) async {
|
||||||
|
|
||||||
if (_addressController.text != map["recipient_address"]) {
|
if (_addressController.text != map["recipient_address"]) {
|
||||||
|
|
Loading…
Reference in a new issue