RavenProject / ravenwallet-android

MIT License
18 stars 28 forks source link

More mnemonics #90

Open wquist opened 3 years ago

wquist commented 3 years ago

Closes #83

These commits add additional support for the remaining BIP39 languages (traditional chinese, italian, and korean). Auto-detection of language from locale was already present, but modified slightly to compare based on a new Locale(lang).getLanguage() instead of just lang, as recommended in the Android docs. Simplified vs. Traditional Chinese may still need some extra checks (such as getCountry(), although I am not certain this is fool-proof), as it seems getLanguage() can still return "zh" for some traditional locales.

In regards to selecting an English override for the 12-words, the app was already searching through the set of available languages and choosing any match, so this is not necessarily needed. Instead, perhaps the InputWordsActivity could display a message such as "Enter your 12 words in their original language", translated as appropriate.

Lastly, instrumentation tests were added (androidTest/PaperKeyAndroidTests.java) to validate the paper key checks, even when the word language does not match the locale. Some more generalized locale tests are also in place, although these could be expanded for Chinese.