This adds (the first!) an actual Java class to do the checking which
interfaces are available and we then instruct the AddressDB to pick
addresses matching that.
In other words, when the Android device has a functional IPv4 network
interface, we will try to connect to peers on that IP version.
Same with IPv6.
Both can be active at the same time.
This is likely the oldest component in the app and it was
really in need of a rewrite.
The state of peers is shown much clearer now, we use a proper
model in order to avoid the jumping and we use a more safe
way of getting at the data.
This specifically allows pasting and scanning of bitcoincash addresses
without the 'bitcoincash' prefix.
Additionally this cleans up the QRScanner API a little and merges two
methods.
Last, at popular request, this makes showing the address on the
confirmation screen default to be on.
This allows people to actually verify the address they pay to.
Except when paying to a BIP70 payment because that is practically
speaking a system that avoids talking about addresses in the first
place. No point in trying to verify the actual address THERE.
This upstream refactor stopped passing in the pool by pointer and
now wraps it in a shared_ptr.
A lot less 'address-of' operators and generally cleaner code are
the result.
In the case where there is no specific input needed, because the amounts
were all specified, we still need to set the focus to the page because
otherwise 'back' / 'esc' don't behave correctly.
Pressing 'Escape' or (android) back button is now more logical.
Closing the menu is new, going back to the 'main' tab as well.
This also fixes some odd behavior when using the back button while the
camera is active.
And last, when there is nothing more to back out of, on Android we end
up closing the application. This is what people expect on that platform.
To swipe from the left edge now is limited to only 50 'pixels'
instead of half the width.
Additionally, don't allow interaction while the app pin-screen
is showing.
This calls Java code on Android through the Qt JNI bridge
in order to learn the phone-wide setting of dark-theme.
For new installs this will now follow the phone setting by default.
Add GuiSettings: dark mode option.
The flowee lib added support for various blockheader improvements.
An important one is the ability to start from a checkpoint and thus
lower the requirements at the cost of a slightly lower security.
This adds support for that.
The local part is that we stop shipping the 'info' file (some 25MB
for the full chain) in the APK / deb files, instead buiding it on first
start.
In addition:
- Made it work with latest commit to Flowee/thehub/#5.
- Works better now when decrypting the wallet (accountInfo.isElectrum property
should not be CONSTANT but instead notify on change)
- Made the actual wallet seed phrase type get saved to the wallet rather
than a bool. This type comes from enum HDMasterKey::MnemonicType in
thehub libs.