13450 merge 12267_new_flow and update to new flutter version

This commit is contained in:
nikitateplyakov
2019-11-20 16:37:36 +03:00
16 changed files with 490 additions and 226 deletions

View File

@@ -1,22 +1,24 @@
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:sprintf/sprintf.dart';
import 'package:xml/xml.dart' as xml;
import 'package:flutter/services.dart';
class StringsLocalization {
static String localeCode;
static Map<String, String> strings = new Map<String, String>();
static Future load(String l) async {
localeCode = l;
await rootBundle.loadString('assets/values-$localeCode/strings.xml').then((content) {
await rootBundle
.loadString('assets/values-$localeCode/strings.xml')
.then((content) {
content.replaceAll('=\"', '=\\"');
content.replaceAll('\">', '\\">"');
var document = xml.parse(content);
strings.clear();
document.findAllElements('string').forEach((node) {
strings[node.attributes[0].value] = node.text.toString();
strings[node.attributes[0].value] = node.text.toString();
});
});
return strings;
@@ -111,25 +113,45 @@ class StringsLocalization {
return [nominative, singular, plural];
}
static _normalizeDouble(String val) => val.substring(0, val.length - 3);
static String confirmPurchase(String val, int code) {
String trimmedVal = val.substring(0, val.length - 3);
return sprintf(strings['confirm_purchase'], [val, declineCurrency(int.parse(trimmedVal), code)]);
String trimmedVal = _normalizeDouble(val);
return sprintf(strings['confirm_purchase'],
[val, declineCurrency(int.parse(trimmedVal), code)]);
}
static String purchaseCompleted(String val, int code) {
String trimmedVal = val.substring(0, val.length - 3);
return sprintf(strings['purchase_complite'], [val, declineCurrency(int.parse(trimmedVal), code)]);
String trimmedVal = _normalizeDouble(val);
return sprintf(strings['purchase_complite'],
[val, declineCurrency(int.parse(trimmedVal), code)]);
}
static String paymentCompleted(String val, int code) {
String trimmedVal = val.substring(0, val.length - 3);
return sprintf(strings['payment_complite'], [val, declineCurrency(int.parse(trimmedVal), code)]);
return sprintf(strings['payment_complite'],
[val, declineCurrency(int.parse(trimmedVal), code)]);
}
static String returnConfirmation(String sum, String date, int points) =>
sprintf(strings['return_purchase_content'], [sum, date, points.toString()]);
sprintf(
strings['return_purchase_content'], [sum, date, points.toString()]);
static String returnConfirmedContent(String sum, String date) =>
sprintf(strings['return_confirmation_content'], [sum, date]);
sprintf(strings['return_confirmation_content'], [sum, date]);
static String purchaseDetails(
String total, String discountTotal, String discount, int code) {
final String normTotal = _normalizeDouble(total);
final String normDiscountTotal = _normalizeDouble(discountTotal);
return sprintf(strings['purchase_details'], [
total,
declineCurrency(int.parse(normTotal), code),
discountTotal,
declineCurrency(int.parse(normDiscountTotal), code),
discount
]);
}
static String registration() => strings['registration'];
static String usage() => strings['usage'];
@@ -142,7 +164,8 @@ class StringsLocalization {
static String askChangeStore() => strings['ask_change_store'];
static String yes() => strings['yes'];
static String no() => strings['no'];
static String requestSentWaitActivation() => strings['request_sent_wait_activ'];
static String requestSentWaitActivation() =>
strings['request_sent_wait_activ'];
static String refreshActivationStatus() => strings['update_activ_status'];
static String appActivated() => strings['app_activ'];
static String completeRegistration() => strings['complite_activ'];
@@ -218,7 +241,8 @@ class StringsLocalization {
static String registrationGuide() => strings['registration_guide'];
static String usageGuide() => strings['usage_guide'];
static String commonGuide() => strings['common_guide'].replaceAll('\n', "\n");
static String supportGuide(String phone, String url) => sprintf(strings['support_guide'], [phone, url]);
static String supportGuide(String phone, String url) =>
sprintf(strings['support_guide'], [phone, url]);
static String joys() => strings['joys'];
static String joysMinus() => strings['joys_minus'];
static String joysHint() => strings['joys_hint'];
@@ -226,4 +250,6 @@ class StringsLocalization {
static String returnLabel() => strings['returnLabel'];
static String returnConfirmed() => strings['return_confirmation'];
static String points() => strings['points'];
}
static String cancel() => strings['cancel'];
static String cancelDialog() => strings['purchase_cancellation'];
}