am cfdeb9b0: Merge "Stop using Configuration.setLocale"
* commit 'cfdeb9b04bd1646e97973823fd9d4fb5dee09681': Stop using Configuration.setLocalemain
commit
ade8b001e3
|
@ -35,18 +35,18 @@ public abstract class RunInLocale<T> {
|
|||
*/
|
||||
public T runInLocale(final Resources res, final Locale newLocale) {
|
||||
synchronized (sLockForRunInLocale) {
|
||||
final Configuration savedConf = res.getConfiguration();
|
||||
if (newLocale == null || newLocale.equals(savedConf.locale)) {
|
||||
final Configuration conf = res.getConfiguration();
|
||||
if (newLocale == null || newLocale.equals(conf.locale)) {
|
||||
return job(res);
|
||||
}
|
||||
final Configuration newConf = new Configuration();
|
||||
newConf.setTo(savedConf);
|
||||
newConf.setLocale(newLocale);
|
||||
final Locale savedLocale = conf.locale;
|
||||
try {
|
||||
res.updateConfiguration(newConf, null);
|
||||
conf.locale = newLocale;
|
||||
res.updateConfiguration(conf, null);
|
||||
return job(res);
|
||||
} finally {
|
||||
res.updateConfiguration(savedConf, null);
|
||||
conf.locale = savedLocale;
|
||||
res.updateConfiguration(conf, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue