File tree Expand file tree Collapse file tree
main/java/org/openimis/imisclaims
test/java/org/openimis/imisclaims Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2121import org .openimis .imisclaims .usecase .Login ;
2222
2323import java .util .ArrayList ;
24+ import java .util .Locale ;
2425
2526public abstract class ImisActivity extends AppCompatActivity {
2627
@@ -48,7 +49,9 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
4849 super .onCreate (savedInstanceState );
4950
5051 global = (Global ) getApplicationContext ();
51- global .setLanguage (this , global .getSavedLanguage ());
52+ String systemLanguage = resolveStartupLanguage ();
53+ global .setSavedLanguage (systemLanguage );
54+ global .setLanguage (this , systemLanguage );
5255
5356 actionBar = getSupportActionBar ();
5457 if (actionBar != null ) {
@@ -65,6 +68,15 @@ public void onReceive(Context context, Intent intent) {
6568 sqlHandler = new SQLHandler (this );
6669 }
6770
71+ private String resolveStartupLanguage () {
72+ Locale systemLocale = getResources ().getConfiguration ().locale ;
73+ String language = systemLocale != null ? systemLocale .getLanguage () : "" ;
74+ if ("fr" .equalsIgnoreCase (language )) {
75+ return "fr" ;
76+ }
77+ return "en" ;
78+ }
79+
6880 @ Override
6981 protected void onDestroy () {
7082 super .onDestroy ();
Original file line number Diff line number Diff line change 1+ package org .openimis .imisclaims ;
2+ import static org .junit .Assert .*;
3+ import org .junit .Test ;
4+ import org .junit .runner .RunWith ;
5+ import org .robolectric .Robolectric ;
6+ import org .robolectric .RobolectricTestRunner ;
7+ import org .robolectric .annotation .Config ;
8+
9+ @ RunWith (RobolectricTestRunner .class )
10+ public class ImisActivityTest {
11+
12+ static class TestActivity extends ImisActivity {}
13+
14+ private String savedLanguage () {
15+ TestActivity activity = Robolectric .buildActivity (TestActivity .class )
16+ .create ()
17+ .get ();
18+
19+ return activity .global .getSavedLanguage ();
20+ }
21+
22+ @ Test
23+ @ Config (qualifiers = "fr" )
24+ public void french_locale_saves_fr () {
25+ assertEquals ("fr" , savedLanguage ());
26+ }
27+
28+ @ Test
29+ @ Config (qualifiers = "en" )
30+ public void english_locale_saves_en () {
31+ assertEquals ("en" , savedLanguage ());
32+ }
33+
34+ @ Test
35+ @ Config (qualifiers = "es" )
36+ public void unsupported_locale_defaults_en () {
37+ assertEquals ("en" , savedLanguage ());
38+ }
39+ }
You can’t perform that action at this time.
0 commit comments