Skip to content

Commit

Permalink
Merge pull request #63 from peercoin/null_safety
Browse files Browse the repository at this point in the history
Null safety
  • Loading branch information
Willy authored Jun 24, 2021
2 parents e5e8f12 + 430304c commit 3599c18
Show file tree
Hide file tree
Showing 75 changed files with 1,073 additions and 651 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,7 @@ The original library is not compatible, due to transaction timestamp incompabili

**Update splash screen**
`flutter pub run flutter_native_splash:create`

## Basic e2e testing
`flutter drive --target=test_driver/app.dart --driver=test_driver/key_new.dart`
`flutter drive --target=test_driver/app.dart --driver=test_driver/key_imported.dart`
7 changes: 4 additions & 3 deletions assets/translations/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
"authenticate_retry_warning_title": "Warnung, nur noch ein Versuch übrig.",
"authenticate_subtitle_plural": "$retriesLeft Versuche insgesamt",
"authenticate_subtitle_singular": "$retriesLeft Versuch insgesamt",
"authenticate_title": "Bitte PIN eingeben\n",
"authenticate_title": "Bitte PIN eingeben",
"authenticate_title_new": "Bitte neue PIN eingeben",
"continue": "Fortsetzen",
"create_wallet_existing_seed": "Importiere bestehenden Seed",
Expand Down Expand Up @@ -90,7 +90,7 @@
"send": "Senden",
"send_address": "Adresse",
"send_amount": "Betrag",
"send_amount_below_minimum": "$amount ist der Mindestbetrag.\nDu hast nicht genug Guthaben um die Gebühren zu bezahlen.",
"send_amount_below_minimum": "Der Mindestbetrag beträgt $amount.\nBitte wähle einen Betrag, welcher größer oder gleich ist.",
"send_amount_exceeds": "Betrag übersteigt Guthaben",
"send_amount_small": "Betrag zu gering",
"send_confirm_send": "Bestätigen & Senden",
Expand Down Expand Up @@ -178,5 +178,6 @@
"app_settings_theme_system": "System Voreinstellung",
"buy_peercoin_dialog_title": "Du wirst jetzt auf die Website eines Drittanbieters weitergeleitet.",
"buy_peercoin_dialog_content": "Die Autoren dieser App sind nicht für ihren Inhalt verantwortlich.",
"buy_peercoin": "Peercoin Kaufen"
"buy_peercoin": "Peercoin Kaufen",
"send_amount_below_minimum_unable": "Der Mindestbetrag beträgt $amount.\nDu hast nicht genug Guthaben um die Gebühren zu bezahlen."
}
4 changes: 2 additions & 2 deletions assets/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@
"authenticate_retry_warning_title": "Warning, you only have one retry left.",
"authenticate_subtitle_plural": "$retriesLeft attempts in total",
"authenticate_subtitle_singular": "$retriesLeft attempt in total",
"authenticate_title": "Please enter your PIN\n",
"authenticate_title_new": "Please enter your new PIN\n",
"authenticate_title": "Please enter your PIN",
"authenticate_title_new": "Please enter your new PIN",
"buy_peercoin": "Purchase Peercoin",
"buy_peercoin_dialog_title": "You will now be forwarded to a third party website.",
"buy_peercoin_dialog_content": "The mainters of this app are not responsible for its content.",
Expand Down
183 changes: 183 additions & 0 deletions assets/translations/it.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
{
"about_view_source": "Visualizza Codice Sorgente",
"about_foundation_button": "Scopri di più sulla Peercoin Foundation",
"about_help_or_feedback": "Hai bisogno di aiuto o vuoi lasciare un commento?",
"about_translate": "Puoi contribuire alla traduzione di questa app nella pagina Weblate di Peercoin.",
"about_go_weblate": "Apri Weblate",
"about_send_mail": "Invia una mail",
"addressbook_add_new": "Nuovo indirizzo",
"addressbook_bottom_bar_your_addresses": "I tuoi indirizzi",
"addressbook_bottom_bar_sending_addresses": "Contatti",
"addressbook_dialog_remove_title": "Vuoi davvero rimuovere questo indirizzo?",
"addressbook_edit_dialog_title": "Modifica etichetta",
"addressbook_edit_dialog_input": "Nuova etichetta",
"addressbook_no_label": "nessuna etichetta",
"addressbook_no_sending": "Nessun indirizzo",
"addressbook_swipe_delete": "Elimina",
"addressbook_swipe_edit": "Modifica",
"addressbook_swipe_share": "Condividi",
"addressbook_swipe_send": "Invia a",
"app_navigation": "Navigazione",
"app_settings": "Impostazioni",
"app_settings_auth_header": "Autenticazione",
"app_settings_changeCode": "Cambia PIN",
"addressbook_title": "$coin Indirizzi",
"add_new_wallet": "Nuovo portafoglio",
"about": "Info",
"about_developers": "© $year Gli sviluppatori di peercoin_flutter",
"about_license": "Licenza AGPL-3.0",
"about_data_declaration": "Mostra il manifesto: \"Privacy and Data Protection\"",
"app_settings_appbar": "Impostazioni app",
"app_settings_language": "Lingua",
"app_settings_revealAuthButton": "Mostra opzioni autenticazione",
"app_settings_revealSeedButton": "Mostra Seed",
"app_settings_seed": "Seed",
"app_settings_shareSeed": "Condividi Seed",
"app_settings_theme": "Tema",
"app_settings_theme_light": "Chiaro",
"app_settings_theme_dark": "Scuro",
"app_settings_newWallet": "Richiede l'aggiunta di un nuovo portafoglio",
"app_settings_language_restart": "E' richiesto il riavvio della app.",
"app_wallets": "Portafogli",
"authenticate_biometric_reason": "Per favore, autenticati.",
"authenticate_biometric_title": "Autenticazione richiesta",
"authenticate_change_pin_success": "PIN modificato con successo",
"authenticate_confirm_title": "Reinserisci il tuo PIN",
"authenticate_retry_warning_title": "Attenzione, hai solo un tentativo rimasto.",
"authenticate_subtitle_plural": "$retriesLeft tentativi rimasti",
"authenticate_subtitle_singular": "$retriesLeft tentativo rimasto",
"authenticate_title": "Inserisci il tuo PIN\n",
"authenticate_title_new": "Inserisci il tuo nuovo PIN\n",
"buy_peercoin": "Acquista Peercoin",
"buy_peercoin_dialog_content": "Gli sviluppatori di questa app non sono responsabili del suo contenuto.",
"continue": "Continua",
"create_wallet_existing_seed": "Importa un Seed esistente",
"create_wallet_new_seed": "Crea un portafoglio con un nuovo Seed",
"create_wallet_or": "o",
"export_now": "Esporta",
"id": "Id",
"import_seed_button": "Importa Seed",
"import_seed_error_1": "Deve contenere almeno 12 parole",
"import_seed_error_2": "Seed non valido",
"jail_countdown": "secondi",
"jail_dialog_button": "Okay",
"jail_dialog_title": "Hai raggiunto il numero massimo di tentativi.",
"jail_heading": "App bloccata per",
"label_wallet_seed": "Il tuo Seed",
"net_display_name": "Peercoin $testormain net",
"no_new_wallet": "Non sono diponibili nuovi portafogli per il momento.",
"app_settings_walletHome": "Richiesto per il portafoglio",
"app_settings_walletList": "Richiesto per la lista dei portafogli",
"app_settings_saved_snack": "Le modifiche sono state salvate",
"authenticate_confirm_title_new": "Conferma il tuo nuvo PIN",
"paperwallet_confirm_import": "Conferma e Importa",
"paperwallet_step_1": "Passo 1",
"paperwallet_step_2": "Passo 2",
"paperwallet_step_1_text": "Chiave pubblica",
"paperwallet_step_2_text": "Chiave privata",
"paperwallet_step_3": "Passo 3",
"paperwallet_step_3_text": "Controlla disponibilità",
"paperwallet_step_4": "Passo 4",
"paperwallet_step_4_text": "Svuota portafoglio e importa",
"peercoin": "Peercoin",
"peercoinC": "Peercoin",
"receive_requested_amount": "Importo richiesto (facoltativo)",
"receive_share": "Condividi",
"scan_qr": "Scansiona QR-Code",
"search": "Cerca",
"send": "Invia",
"send_address": "Indirizzo",
"send_amount": "Importo",
"send_amount_below_minimum_unable": "Importo minimo di $amount.\nNon hai abbastanza fondi per pagare le commissioni.",
"send_amount_small": "Importo troppo esiguo",
"send_confirm_send": "Conferma e Invia",
"send_confirm_transaction": "Conferma la transazione",
"send_enter_address": "Inserisci un indirizzo",
"send_enter_amount": "Inserisci un importo",
"send_invalid_address": "Indirizzo non valido",
"select_coin": "Seleziona una moneta",
"send_dust": "Dust: -$amount $letter_code",
"receive_enter_amount": "Inserisci un importo",
"send_amount_exceeds": "Importo superiore alla disponibilità",
"send_errors_solve": "Controlla gli errori…",
"send_label": "Etichetta (facoltativa)",
"send_to": " a ",
"send_total": "Totale $amount $letter_code",
"send_transferring": "Stai trasferendo ",
"server_add_title": "Nuovo server",
"server_add_input_label": "Server URL",
"server_add_no_port": "Deve contenere una porta, ad es. :50004",
"server_add_server_exists": "Questo server é già presente.",
"server_add_server_no_connection": "Connessione al server fallita.",
"server_settings_title": "Impostazioni del server",
"server_settings_alert_generated_title": "Vuoi davvero rimuovere questo server?",
"server_settings_alert_cancel": "Annulla",
"server_settings_error_no_server_left": "E' richiesto almeno un server raggiungibile!",
"setup_create_pin": "Crea PIN",
"setup_import_title": "Importa Seed",
"setup_pin": "Imposta un PIN prima di continuare.",
"setup_pin_title": "Sicurezza",
"setup_pin_no_biometrics": "Il tuo dispositivo non supporta l'autenticazione biometrica.",
"share_app": "Condividi App",
"time": "Tempo",
"transaction_details": "Dettaglio transazione",
"transactions_all": "Tutte",
"transactions_fee": "-$amount \nCommissione",
"transactions_in": "Entrata",
"transactions_none": "Nessuna transazione presente",
"transactions_out": "Uscita",
"tx_address": "Indirizzo",
"tx_confirmations": "Conferme",
"tx_direction": "Direzione",
"tx_fee": "Commissione",
"server_add_input_empty": "Inserisci un URL",
"server_settings_alert_hardcoded_content": "I server hardcodati non possono essere rimossi, ma solo disattivati.",
"server_settings_alert_hardcoded_title": "Server hardcodato",
"setup_files_for_wallet": "Crea tutti i file necessari per inziare con il tuo portafoglio.\nScegli tra le opzioni disponibili.",
"setup_welcome": "Benvenuto nel portafoglio di Peercoin",
"tx_value": "Importo",
"wallet_bottom_nav_send": "Invia",
"wallet_bottom_nav_tx": "Transazioni",
"wallet_connected": "connesso",
"wallet_offline": "offline",
"wallet_pop_menu_servers": "Modifica server",
"wallet_scan_appBar_title": "Scansionando il Seed importato",
"wallet_send": "Invia",
"wallet_transactions": "Transazioni",
"wallets_list": "I tuoi portafogli",
"wallets_none": "Non hai portafogli attivi",
"wallet_pop_menu_rescan": "Riavvia scansione",
"tx_view_in_explorer": "Apri in explorer",
"unconfirmed": "non confermata",
"wallet_bottom_nav_receive": "Richiedi",
"wallet_pop_menu_paperwallet": "Aggiungi portafoglio cartaceo",
"wallet_receive": "Richiedi",
"wallet_receive_label_hint": "Premendo questo bottone salverai l'etichetta dell'indirizzo",
"wallet_rescan_title": "Riavvia scansione portafoglio",
"wallet_scan_notice": "Potrebbe richiedere alcuni istanti. Non abbandonare la schermata!",
"about_free": "Questo software é open source, gratuito e non possiede alcun tipo di garanzia.\nUsalo a tuo rischio.",
"about_data_protection": "Questo software protegge i tuoi dati e la tua privacy al meglio delle sue possibilità.\nQuesta app salva tutti i dati necessari in locale sul tuo dispositivo.\nQuesto software non contiene alcuna pubblicità o tracciamento dell'attività.",
"add_coin_failed": "Aggiunta portafoglio fallita!",
"addressbook_dialog_remove_snack": "Indirizzo rimosso con successo",
"app_settings_biometrics": "Attiva autenticazione biometrica",
"app_settings_default_wallet": "Portafoglio principale",
"app_settings_sendTransaction": "Richiesto prima di inviare una transazione",
"app_settings_theme_system": "Default di sistema",
"authenticate_biometric_hint": "Verifica identità",
"authenticate_retry_warning_text": "La app verrà bloccata e potrà essere sbloccata soltanto con una corretta autenticazione.",
"buy_peercoin_dialog_title": "Sarai reindirizzato ad un sito esterno.",
"import_seed": "Inserisci il Seed che vuoi importare, separando con uno spazio le parole.",
"label_keep_seed_safe": "Tienilo al sicuro.\nTrattalo come una password.\nQueste $numberOfWords parole garantiscono l'accesso al tuo portafoglio.",
"paperwallet_error_1": "Portafoglio vuoto\no importo inferiore al minimo consentito",
"paperwallet_success": "Portafoglio cartaceo importato con successo.\nLe transazioni verranno aggiornate al più presto.",
"send_amount_below_minimum": "Importo minimo di $amount.\nInserisci un importo maggiore o uguale a questo.",
"send_fee": "Commissione: -$amount $letter_code",
"send_oops": "Qualcosa è andato storto, per favore riprova",
"server_add_no_wss": "Deve cominciare per wss://\nAltri protocolli sono attualmente non supportati",
"server_add_server_wrong_genesis": "Il genesi hash non corrisponde.\nIl server non supporta questa valuta.",
"setup_import_note": "Inserisci il Seed del portafoglio che vuoi importare.\nNon deve essere confuso con la chiave privata.",
"setup_seed_slider_label": "Trascina per cambiare il numero di parole",
"setup_securebox_fail": "Siamo spiacenti.\nIl tuo dispositivo non é in grado di salvare le chiavi in maniera sicura.",
"about_foundation": "Questo progetto é supportato finanziariamente dalla Peercoin Foundation.\nQualsiasi donazione alla fondazione contribuirà allo sviluppo di questa applicazione.",
"wallet_rescan_content": "Riavvia la scansione del portafoglio. Può servire in caso di problemi con transazioni o importi.\nPotrebbe richiedere qualche istante."
}
2 changes: 1 addition & 1 deletion ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ SPEC CHECKSUMS:
local_auth: 25938960984c3a7f6e3253e3f8d962fdd16852bd
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
path_provider: f96fff6166a8867510d2c25fdcc346327cc4b259
path_provider: abfe2b5c733d04e238b0d8691db0cfd63a27a93c
qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
share: 0b2c3e82132f5888bccca3351c504d0003b3b410
Expand Down
32 changes: 22 additions & 10 deletions ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
LastUpgradeCheck = 1250;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
Expand Down Expand Up @@ -321,6 +321,7 @@
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
Expand All @@ -339,7 +340,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
Expand All @@ -354,8 +355,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = JZZYH6WLB5;
DEVELOPMENT_TEAM = MV8S375YXB;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
Expand All @@ -370,8 +373,9 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.coinerella.peercoin;
PRODUCT_BUNDLE_IDENTIFIER = "com.coinerella.peercoin-flutter";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
Expand Down Expand Up @@ -401,6 +405,7 @@
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
Expand All @@ -425,7 +430,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -456,6 +461,7 @@
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
Expand All @@ -474,7 +480,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
Expand All @@ -491,8 +497,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = JZZYH6WLB5;
DEVELOPMENT_TEAM = MV8S375YXB;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
Expand All @@ -507,8 +515,9 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.coinerella.peercoin;
PRODUCT_BUNDLE_IDENTIFIER = "com.coinerella.peercoin-flutter";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
Expand All @@ -522,8 +531,10 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = JZZYH6WLB5;
DEVELOPMENT_TEAM = MV8S375YXB;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
Expand All @@ -538,8 +549,9 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.coinerella.peercoin;
PRODUCT_BUNDLE_IDENTIFIER = "com.coinerella.peercoin-flutter";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
Expand Down
Loading

0 comments on commit 3599c18

Please sign in to comment.