Skip to content

Commit

Permalink
Merge pull request #105 from Adamant-im/develop
Browse files Browse the repository at this point in the history
Release 2.6.0
  • Loading branch information
just-software-dev authored Sep 5, 2022
2 parents a99eacf + 8c217a0 commit 28d1a96
Show file tree
Hide file tree
Showing 73 changed files with 2,880 additions and 1,588 deletions.
199 changes: 144 additions & 55 deletions Adamant.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions Adamant.xcworkspace/xcshareddata/swiftpm/Package.resolved
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,15 @@
"version": "1.2.2"
}
},
{
"package": "SnapKit",
"repositoryURL": "https://github.com/SnapKit/SnapKit.git",
"state": {
"branch": null,
"revision": "f222cbdf325885926566172f6f5f06af95473158",
"version": "5.6.0"
}
},
{
"package": "Starscream",
"repositoryURL": "https://github.com/daltoniam/Starscream.git",
Expand Down
30 changes: 9 additions & 21 deletions Adamant/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -152,30 +152,25 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
if let reachability = container.resolve(ReachabilityMonitor.self) {
reachability.start()

switch reachability.connection {
case .cellular, .wifi:
if reachability.connection {
dialogService.dissmisNoConnectionNotification()
break

case .none:
} else {
dialogService.showNoConnectionNotification()
repeater.pauseAll()
}

NotificationCenter.default.addObserver(forName: Notification.Name.AdamantReachabilityMonitor.reachabilityChanged, object: reachability, queue: nil) { [weak self] notification in
guard let connection = notification.userInfo?[AdamantUserInfoKey.ReachabilityMonitor.connection] as? AdamantConnection,
guard let connection = notification.userInfo?[AdamantUserInfoKey.ReachabilityMonitor.connection] as? Bool,
let repeater = self?.repeater else {
return
}

switch connection {
case .cellular, .wifi:
if connection {
DispatchQueue.onMainSync {
self?.dialogService.dissmisNoConnectionNotification()
}
repeater.resumeAll()

case .none:
} else {
DispatchQueue.onMainSync {
self?.dialogService.showNoConnectionNotification()
}
Expand Down Expand Up @@ -254,17 +249,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
notificationService.removeAllDeliveredNotifications()
}

if let connection = container.resolve(ReachabilityMonitor.self)?.connection {
switch connection {
case .wifi, .cellular:
repeater.resumeAll()

case .none:
break
}
} else {
repeater.resumeAll()
}
guard container.resolve(ReachabilityMonitor.self)?.connection == true
else { return }

repeater.resumeAll()
}
}

Expand Down
112 changes: 107 additions & 5 deletions Adamant/Assets/l18n/de.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,9 @@
/* About scene: Show Welcome screens */
"About.Row.Welcome" = "Willkommensbildschirm";

/* Account tab: 'Currency' row */
"AccountTab.Row.Currency" = "Währung";

/* System accounts: ADAMANT Tokens */
"Accounts.AdamantTokens" = "Willkommen in ADAMANT";

Expand Down Expand Up @@ -175,9 +178,6 @@
/* Account tab: 'Theme' row value 'Dark' */
"AccountTab.Row.Theme.Dark" = "Dark";

/* Account tab: 'Currency' row */
"AccountTab.Row.Currency" = "Währung";

/* Account tab: 'About' row */
"AccountTab.Row.About" = "Über ADAMANT";

Expand Down Expand Up @@ -232,6 +232,9 @@
/* Serious internal error: Error parsing response */
"ApiService.InternalError.ParsingFailed" = "Parsing fehlgeschlagen. Bericht senden";

/* Serious internal error: No nodes available */
"ApiService.InternalError.NoNodesAvailable" = "No nodes available. Report a bug";

/* Eureka forms Cancel button */
"Cancel" = "Abbrechen";

Expand Down Expand Up @@ -322,6 +325,9 @@
/* Chat: 'Sent funds' bubble title */
"ChatScene.Sent" = "Versendet";

/* Chat: 'Sent funds' buble 'Tap for details' tip */
"ChatScene.tapForDetails" = "Tap for details";

/* Chat: status message for failed to send chat transaction */
"ChatScene.MessageStatus.FailToSend" = "Fehler beim Senden";

Expand Down Expand Up @@ -439,6 +445,9 @@
/* Shared error: Network problems. In most cases - no connection */
"Error.NoNetwork" = "Keine Verbindung";

/* Shared error: Request cancelled */
"Error.RequestCancelled" = "Request cancelled";

/* Shared error: Remote error format, %@ for message */
"Error.RemoteServerErrorFormat" = "Blockchain-Node Fehler: %@";

Expand Down Expand Up @@ -544,8 +553,68 @@
/* NodesList: 'Add new node' button lable */
"NodesList.AddNewNode" = "Eine neue Node hinzufügen";

/* NodesList: 'Node url' plaseholder */
"NodesList.NodeUrl" = "Node-URL";
/* NodesList: Reset nodes alert title */
"NodesList.ResetNodeListAlert" = "Reset nodes list to default?";

/* NodesList: 'Reset' button */
"NodesList.ResetButton" = "Reset";

/* NodesList: 'Prefer the fastest node' switch */
"NodesList.PreferTheFastestNode" = "Prefer the fastest node";

/* NodesList.NodeCell: Node ping */
"NodesList.NodeCell.Ping" = "Ping";

/* NodesList.NodeCell: Milliseconds */
"NodesList.NodeCell.Milliseconds" = "ms";

/* NodesList.NodeCell: Node is synchronizing */
"NodesList.NodeCell.Synchronizing" = "Synchronizing";

/* NodesList.NodeCell: Node is offline */
"NodesList.NodeCell.Offline" = "Offline";

/* NodesList.NodeCell: Node version */
"NodesList.NodeCell.Version" = "version";

/* NodeList: Inform that default nodes was loaded, if user deleted all nodes */
"NodeList.DefaultNodesLoaded" = "Default nodes list was loaded";

/* NodesEditor: New node scene title */
"NodesEditor.NewNodeTitle" = "New node";

/* NodesEditor: Delete node confirmation message */
"NodesEditor.DeleteNodeAlert" = "Delete this node?";

/* NodesEditor: Testing in progress */
"NodesEditor.TestingInProgressMessage" = "Checking connection…";

/* NodesEditor: Scheme row */
"NodesEditor.SchemeRow" = "Scheme";

/* NodesEditor: Port row */
"NodesEditor.PortRow" = "Port";

/* NodesEditor: Host row */
"NodesEditor.HostRow" = "Host";

/* NodesEditor: Web sockets */
"NodesEditor.WebSockets" = "Web sockets";

/* NodesEditor: Web sockets are supported */
"NodesEditor.WebSocketsSupported" = "Supported";

/* NodesEditor: Web sockets aren't supported */
"NodesEditor.WebSocketsNotSupported" = "Not supported";

/* NodesEditor: Delete node button */
"NodesEditor.DeleteNodeButton" = "Delete";

/* NodesEditor: Host row placeholder */
"NodesEditor.HostRow.Placeholder" = "IP or host name";

/* NodesEditor: Failed to build URL alert */
"NodesEditor.FailedToBuildURL" = "Invalid host";

/* Security: Notification modes description. Markdown supported. */
"SecurityPage.Row.Notifications.ModesDescription" = "#### Benachrichtigungsmodi\n\n#### Deaktiviert\nKeine Benachrichtigungen.\n\n#### Hintergrundaktualisierung\nIhr Gerät erhält neue Nachrichteninformationen automatisch. Keine externen Aufrufe. Die Hintergrundaktualisierung wird von iOS verwaltet, die Zeit wird vom Betriebssystem bestimmt und ist von vielen Faktoren wie Akkustand, Netzwerkauslastung, Nutzungsmuster abhängig und kann nicht vorhergesagt werden. Es können 20 Minuten, 6 Stunden, oder ein Tag sein. Sie können die App trotzdem öffnen und nachschauen, ob eine Nachricht angekommen ist.\n\n#### Push\nBenachrichtigungen werden auf Ihr Gerät vom ADAMANT Benachrichtigungsservice gesendet. Sie erhalten eine Benachrichtigung umgehend, nachdem die Nachricht versendet und von der Blockchain bestätigt wurde - mit einer kleinen Verzögerung. Jedoch erfordert dieser Modus, dass der Gerätetoken Ihres Geräts in der Servicedatenbank registriert ist. Gerätetokens sind sicher, und diese Option ist zu empfehlen.\n\nSie können mehr über die Geräteregistrierung auf der ADAMANTs Github-Seite nachlesen.";
Expand Down Expand Up @@ -613,6 +682,9 @@
/* PrivateKeyGenerator: Security alert. Keep your passphrase safe */
"PkGeneratorScene.Alert" = "ADAMANT account includes crypto wallets. All of them are connected with your Passphrase, and only you have access to these wallets. You can export private key to use them in other applications. Store keys in secure place.";

/* PrivateKeyGenerator: Generate button */
"PkGeneratorScene.GenerateButton" = "Generate Keys";

/* Security: scene title */
"SecurityPage.Title" = "Sicherheit";

Expand Down Expand Up @@ -670,6 +742,9 @@
/* Shared alert notification: body message for no internet connection. */
"Shared.NoInternet.Body" = "Bitte überprüfen Sie Ihre Internetverbindung und versuchen Sie es erneut";

/* Shared alert notification: message for no Mail services. */
"Shared.NoMail" = "Mail services are not available";

/* Shared alert 'Ok' button. Used anywhere */
"Shared.Ok" = "Ok";

Expand Down Expand Up @@ -706,9 +781,24 @@
/* TransactionList: scene title */
"TransactionListScene.Title" = "Transaktionen";

/* TransactionList: To Chat button */
"TransactionListScene.ToChat" = "To Chat";

/* TransactionList: Start Chat button */
"TransactionListScene.StartChat" = "Start Chat";

/* TransactionList: 'Transactions not found' message. */
"TransactionListScene.Error.NotFound" = "Transactions not found";

/* TransactionList: 'No transactions yet' message. */
"TransactionListScene.NoTransactionYet" = "Noch keine Transaktionen";

/* TransactionList: 'Transactions not found' localize error message from API. */
"No transactions found" = "Transactions not found";

/* Transaction send: recipient minimum remaining balance requirement */
"TransactionSend.Minimum.Balance" = "Recipient must have at least 0.05 LSK—Send more tokens";

/* Transaction status: updating in progress */
"TransactionStatus.Updating" = "Aktualisieren…";

Expand Down Expand Up @@ -751,6 +841,12 @@
/* Transaction details: sender row. */
"TransactionDetailsScene.Row.From" = "Von";

/* Transaction details: fiat value at the time */
"TransactionDetailsScene.Row.HistoryFiat" = "Value at time of Txn";

/* Transaction details: fiat value at the time */
"TransactionDetailsScene.Row.CurrentFiat" = "Current value";

/* Transaction details: Id row. */
"TransactionDetailsScene.Row.Id" = "ID";

Expand All @@ -775,12 +871,18 @@
/* "Transaction details: 'Actions' section" */
"TransactionDetailsScene.Section.Actions" = "Aktionen";

/* Transaction details: 'Requesting Data' progress message. */
"TransactionDetailsScene.RequestingData" = "Requesting Data…";

/* Transaction details: 'Your address' flag. */
"TransactionDetailsScene.YourAddress" = "Sie";

/* TransfersProvider: Transaction not found error. %@ for transaction's ID */
"TransfersProvider.Error.TransactionNotFoundFormat" = "Transaktion mit der ID %@ nicht gefunden";

/* Transfer: Minimal transaction amount is 0.00001 */
"TransferScene.Error.MinAmount" = "Minimum transaction amount is 0.00001";

/* Transfer: transfer amount placeholder */
"TransferScene.Amount.Placeholder" = "senden";

Expand Down
36 changes: 30 additions & 6 deletions Adamant/Assets/l18n/en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,9 @@
/* Serious internal error: Error parsing response */
"ApiService.InternalError.ParsingFailed" = "Parsing failed. Report a bug";

/* Serious internal error: No nodes available */
"ApiService.InternalError.NoNodesAvailable" = "No nodes available. Report a bug";

/* Eureka forms Cancel button */
"Cancel" = "Cancel";

Expand Down Expand Up @@ -436,6 +439,9 @@
/* Shared error: Network problems. In most cases - no connection */
"Error.NoNetwork" = "No connection";

/* Shared error: Request cancelled */
"Error.RequestCancelled" = "Request cancelled";

/* Shared error: Remote error format, %@ for message */
"Error.RemoteServerErrorFormat" = "Blockchain node error: %@";

Expand Down Expand Up @@ -541,6 +547,24 @@
/* NodesList: 'Reset' button */
"NodesList.ResetButton" = "Reset";

/* NodesList: 'Prefer the fastest node' switch */
"NodesList.PreferTheFastestNode" = "Prefer the fastest node";

/* NodesList.NodeCell: Node ping */
"NodesList.NodeCell.Ping" = "Ping";

/* NodesList.NodeCell: Milliseconds */
"NodesList.NodeCell.Milliseconds" = "ms";

/* NodesList.NodeCell: Node is synchronizing */
"NodesList.NodeCell.Synchronizing" = "Synchronizing";

/* NodesList.NodeCell: Node is offline */
"NodesList.NodeCell.Offline" = "Offline";

/* NodesList.NodeCell: Node version */
"NodesList.NodeCell.Version" = "version";

/* NodeList: Inform that default nodes was loaded, if user deleted all nodes */
"NodeList.DefaultNodesLoaded" = "Default nodes list was loaded";

Expand All @@ -562,14 +586,14 @@
/* NodesEditor: Host row */
"NodesEditor.HostRow" = "Host";

/* NodesEditor: Test button */
"NodesEditor.TestButton" = "Test node";
/* NodesEditor: Web sockets */
"NodesEditor.WebSockets" = "Web sockets";

/* NodesEditor: Test passed */
"NodesEditor.NodeTestPassed" = "Passed";
/* NodesEditor: Web sockets are supported */
"NodesEditor.WebSocketsSupported" = "Supported";

/* NodesEditor: Test failed */
"NodesEditor.NodeTestFailed" = "Failed";
/* NodesEditor: Web sockets aren't supported */
"NodesEditor.WebSocketsNotSupported" = "Not supported";

/* NodesEditor: Delete node button */
"NodesEditor.DeleteNodeButton" = "Delete";
Expand Down
Loading

0 comments on commit 28d1a96

Please sign in to comment.