1 
2 #include "xmlvm.h"
3 #include "java_util_Locale.h"
4 
5 
6 //XMLVM_BEGIN_NATIVE_IMPLEMENTATION
7 #ifdef __OBJC__
8 #import <Foundation/NSUserDefaults.h>
9 #endif
10 //XMLVM_END_NATIVE_IMPLEMENTATION
11 
java_util_Locale_initNativeLayer__()12 void java_util_Locale_initNativeLayer__()
13 {
14     //XMLVM_BEGIN_NATIVE[java_util_Locale_initNativeLayer__]
15 #ifdef __OBJC__
16     NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
17     NSArray* languages = [defs objectForKey:@"AppleLanguages"];
18     NSString* language_ = [languages objectAtIndex:0];
19     JAVA_OBJECT language = fromNSString(language_);
20     JAVA_OBJECT country = xmlvm_create_java_string("US");
21     JAVA_OBJECT variant = xmlvm_create_java_string("");
22     JAVA_OBJECT defaultLocale = __NEW_java_util_Locale();
23     java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String(defaultLocale, language, country, variant);
24     java_util_Locale_setDefault___java_util_Locale(defaultLocale);
25 #else
26     //TODO we need a Posix implementation, this is just a dummy implementation
27     JAVA_OBJECT language = xmlvm_create_java_string("en");
28     JAVA_OBJECT country = xmlvm_create_java_string("US");
29     JAVA_OBJECT variant = xmlvm_create_java_string("");
30     JAVA_OBJECT defaultLocale = __NEW_java_util_Locale();
31     java_util_Locale___INIT____java_lang_String_java_lang_String_java_lang_String(defaultLocale, language, country, variant);
32     java_util_Locale_setDefault___java_util_Locale(defaultLocale);
33 #endif
34     //XMLVM_END_NATIVE
35 }
36 
37