@Override
public void setTheme(int resId) {
- if (mThemeResource != resId) {
- mThemeResource = resId;
- initializeTheme();
+ synchronized (mSync) {
+ if (mThemeResource != resId) {
+ mThemeResource = resId;
+ initializeTheme();
+ }
}
}
@Override
public int getThemeResId() {
- return mThemeResource;
+ synchronized (mSync) {
+ return mThemeResource;
+ }
}
@Override
public Resources.Theme getTheme() {
- if (mTheme != null) {
- return mTheme;
- }
+ synchronized (mSync) {
+ if (mTheme != null) {
+ return mTheme;
+ }
- mThemeResource = Resources.selectDefaultTheme(mThemeResource,
- getOuterContext().getApplicationInfo().targetSdkVersion);
- initializeTheme();
+ mThemeResource = Resources.selectDefaultTheme(mThemeResource,
+ getOuterContext().getApplicationInfo().targetSdkVersion);
+ initializeTheme();
- return mTheme;
+ return mTheme;
+ }
}
private void initializeTheme() {