@@ -29,19 +29,28 @@ Maven
2929<dependency>
3030 <groupId>com.akexorcist</groupId>
3131 <artifactId>localizationactivity</artifactId>
32- <version>1.2.0 </version>
32+ <version>1.2.1 </version>
3333</dependency>
3434```
3535
3636Gradle
3737```
38- compile 'com.akexorcist:localizationactivity:1.2.0 '
38+ compile 'com.akexorcist:localizationactivity:1.2.1 '
3939```
4040
4141(Optional) You can exclude ` com.android.support:appcompat-v7 ` , if your project doens't use AppCompat v7 and declare this library with delegate way.
4242
43- Update 1.2.0
43+
44+ Update
4445===========================
46+ 1.2.1
47+ ---------------------------
48+ • Support string resource from getApplicationContext()
49+ • Add LocalizationApplicationDelegate. So you need to custom application class in your app
50+ • LocalizationDelegate was deprecated, replace by LocalizationActivityDelegate
51+
52+ 1.2.0
53+ ---------------------------
4554* [ bug] Bug fixed : Android 7.0 language [ #14 ] ( https://github.com/akexorcist/Android-LocalizationActivity/issues/14 )
4655* [ bug] Language and country support [ #5 ] ( https://github.com/akexorcist/Android-LocalizationActivity/issues/5 )
4756* [ bug] RTL on orientation changes [ #15 ] ( https://github.com/akexorcist/Android-LocalizationActivity/issues/15 ) [ #9 ] ( https://github.com/akexorcist/Android-LocalizationActivity/issues/9 )
@@ -69,19 +78,17 @@ Don't like AppCompat v7? Try delegate way
6978``` java
7079import android.app.Activity ;
7180import android.content.Context ;
81+ import android.content.res.Resources ;
7282import android.os.Bundle ;
7383
74- import com.akexorcist.localizationactivity.core.LocalizationDelegate ;
84+ import com.akexorcist.localizationactivity.core.LocalizationActivityDelegate ;
7585import com.akexorcist.localizationactivity.core.OnLocaleChangedListener ;
7686
7787import java.util.Locale ;
7888
79- /**
80- * Created by Akexorcist on 6/23/16 AD.
81- */
8289public abstract class CustomActivity extends Activity implements OnLocaleChangedListener {
8390
84- private LocalizationDelegate localizationDelegate = new LocalizationDelegate (this );
91+ private LocalizationActivityDelegate localizationDelegate = new LocalizationActivityDelegate (this );
8592
8693 @Override
8794 public void onCreate (Bundle savedInstanceState ) {
@@ -93,42 +100,45 @@ public abstract class CustomActivity extends Activity implements OnLocaleChanged
93100 @Override
94101 public void onResume () {
95102 super . onResume();
96- localizationDelegate. onResume();
103+ localizationDelegate. onResume(this );
97104 }
98105
99106 @Override
100107 protected void attachBaseContext (Context newBase ) {
101108 super . attachBaseContext(localizationDelegate. attachBaseContext(newBase));
102109 }
103110
104- public final void setLanguage (String language ) {
105- localizationDelegate. setLanguage(language);
111+ @Override
112+ public Context getApplicationContext () {
113+ return localizationDelegate. getApplicationContext(super . getApplicationContext());
106114 }
107115
108- public final void setLanguage (String language , String country ) {
109- localizationDelegate. setLanguage(language, country);
116+ @Override
117+ public Resources getResources () {
118+ return localizationDelegate. getResources(super . getResources());
119+ }
120+
121+ public final void setLanguage (String language ) {
122+ localizationDelegate. setLanguage(this , language);
110123 }
111124
112125 public final void setLanguage (Locale locale ) {
113- localizationDelegate. setLanguage(locale);
126+ localizationDelegate. setLanguage(this , locale);
114127 }
115128
116129 public final void setDefaultLanguage (String language ) {
117130 localizationDelegate. setDefaultLanguage(language);
118131 }
119132
120- public final void setDefaultLanguage (String language , String country ) {
121- localizationDelegate. setDefaultLanguage(language, country);
122- }
123-
124133 public final void setDefaultLanguage (Locale locale ) {
125134 localizationDelegate. setDefaultLanguage(locale);
126135 }
127136
128- public final Locale getLanguage () {
129- return localizationDelegate. getLanguage();
137+ public final Locale getCurrentLanguage () {
138+ return localizationDelegate. getLanguage(this );
130139 }
131140
141+ // Just override method locale change event
132142 @Override
133143 public void onBeforeLocaleChanged () {
134144 }
@@ -142,7 +152,36 @@ public abstract class CustomActivity extends Activity implements OnLocaleChanged
142152
143153Usage
144154===========================
145- This is an example.
155+ You need to use custom application class in your project that implemented the LocalizationApplicationDelegate class.
156+ ``` java
157+ import android.app.Application ;
158+ import android.content.Context ;
159+ import android.content.res.Configuration ;
160+
161+ import com.akexorcist.localizationactivity.core.LocalizationApplicationDelegate ;
162+
163+ public class MainApplication extends Application {
164+ LocalizationApplicationDelegate localizationDelegate = new LocalizationApplicationDelegate (this );
165+
166+ @Override
167+ protected void attachBaseContext (Context base ) {
168+ super . attachBaseContext(localizationDelegate. attachBaseContext(base));
169+ }
170+
171+ @Override
172+ public void onConfigurationChanged (Configuration newConfig ) {
173+ super . onConfigurationChanged(newConfig);
174+ localizationDelegate. onConfigurationChanged(this );
175+ }
176+
177+ @Override
178+ public Context getApplicationContext () {
179+ return localizationDelegate. getApplicationContext(super . getApplicationContext());
180+ }
181+ }
182+ ```
183+
184+ In your activity, just extends from LocalizationActivity class
146185
147186``` java
148187import android.os.Bundle ;
@@ -260,13 +299,13 @@ But no problem for this library when application getback to previous activity. I
260299Action Bar or Toolbar's title
261300---------------------------
262301You have to call
263- ```
302+ ``` java
264303setTitle(String title)
265304// or
266305getActionBar(). setTitle(String title)
267306 ```
268307 in on activity create (onCreate) every time
269- ```
308+ ``` java
270309 public class MainActivity extends Localization {
271310 @Override
272311 public void onCreate (Bundle onSavedInstanceState ) {
0 commit comments