We were already fetching this exchange rate, since we were already using Yadio for another currency. So we just needed to add the currency, and a bit of extra logic to pull it from the fetched data.
Naming considerations:
With the Argentine Peso, the common name for the "unofficial" rate is "blue market"
With the Cuban Peso, I wasn't aware of a common name, so I chose the term "free market"
I asked about the Lebanese Pound and was told it's "black market"
Future work:
The CurrencyManager is currently fetching data from 5 different sources. It's not a ton of data, and the overhead isn't that bad. BUT... it's unnecessary work for nearly every user. For example, if you're only using the Euro or the US Dollar, then you only really need to fetch from 1 source.
The AppConfigurationManager.preferredFiatCurrencies already tells us which currencies are needed by the user within the UI. So I have a separate commit I'm working on that will optimize the CurrencyManager such that it only pulls the data it needs to. But it's a less trivial change so it's better to have it in a separate PR.
As requested in issue #344
We were already fetching this exchange rate, since we were already using Yadio for another currency. So we just needed to add the currency, and a bit of extra logic to pull it from the fetched data.
Naming considerations:
Future work:
The
CurrencyManager
is currently fetching data from 5 different sources. It's not a ton of data, and the overhead isn't that bad. BUT... it's unnecessary work for nearly every user. For example, if you're only using the Euro or the US Dollar, then you only really need to fetch from 1 source.The
AppConfigurationManager.preferredFiatCurrencies
already tells us which currencies are needed by the user within the UI. So I have a separate commit I'm working on that will optimize the CurrencyManager such that it only pulls the data it needs to. But it's a less trivial change so it's better to have it in a separate PR.