I am working on kotlin language in my application and facing some difficulties regarding Changing Locale. As what i have do i have created one global class i.e on java and on this class i have wrote code of Language change locale code and that language code function i am calling to base application class of my project that is in Kotlin.
Here is my source code :
Global class (Java Code)
 public void changelanguage(Context context) {
    Locale locale = Locale.getDefault();
    Locale.setDefault(locale);
    System.out.println("GlobalLocale" +locale.toString());
    Configuration config = new Configuration();
    config.locale = locale;
    context.getResources().updateConfiguration(config,
            context.getResources().getDisplayMetrics());
}  
Base Application Class Code:(Kotlin)
class CrashApplicationClass : Application() {
val TAG = CrashApplicationClass::class.java.simpleName
lateinit var sDefSystemLanguage: String
val gc = GlobalClass.getInstance()
override fun onCreate() {
    // TODO Auto-generated method stub
    // ACRA.init(this)
    super.onCreate()
    instance = this
    gc.changelanguage(baseContext)
    println("Languagekotlin" +  gc.changelanguage(baseContext))
    println("kotlininstance" + instance)
   // sDefSystemLanguage = Locale.getDefault().language
}
val requestQueue: RequestQueue? = null
    get() {
        if (field == null) {
            return Volley.newRequestQueue(applicationContext)
        }
        return field
    }
fun <T> addToRequestQueue(request: Request<T>, tag: String) {
    request.tag = if (TextUtils.isEmpty(tag)) TAG else tag
    requestQueue?.add(request)
}
fun <T> addToRequestQueue(request: Request<T>) {
    request.tag = TAG
    requestQueue?.add(request)
}
fun cancelPendingRequests(tag: Any) {
    if (requestQueue != null) {
        requestQueue!!.cancelAll(tag)
    }
}
companion object {
     val TAG = CrashApplicationClass::class.java.simpleName
    @get:Synchronized var instance: CrashApplicationClass? = null
        private set
}
}
As whats going in code here , I have print logs in java class log the language properly gets : System.out.println("GlobalLocale" +locale.toString());
but on CrashApplication class log : println("Languagekotlin" + gc.changelanguage(baseContext)) -> i am getting "Kotlin.Unit" And also language not changed getting proper locale in java but don't know Kotlin class is not getting it returns "Kotlin.Unit"
And also on Manifest i have set : android:configChanges="locale" Any one have idea about language change in Kotlin. Plz share.