According to the Java reference, Locale.getLanguage() is supposed to return the 2-letters lowercase ISO code of the language (e.g. en), while get
Locale.getLanguage()
en
get
Android is returning the readable names instead of the codes.
Locale.getDefault() has the string. So if you call any prints or Logs on that it'll work... meaning Locale.getDefault().toString() has your locale code.