Fixed existing warnings, which included:
- Suppressing a deprecation warning for Java 9, as we have to maintain compatibility with Java 8 for Android
- Using a new Kotlin API introduced in Kotlin 1.5
- Removed unused local variables
Some devices may not have the java crypto libraries available, particularly on Android API versions lower than 23. Unfortunately, this can render a wallet unable to be used on those devices because keys cannot be generated. This PR changes that and allows fall back crypto implementations to be used whenever the defaults are missing.
When converting from an array of characters into a list of words, there was an off-by-one error that was causing the words to display incorrectly. This issue did not effect the seed that was used it only impacted the display. The problem has been fixed and the tests updated to catch this type of problem in the future.