am 4db1aca5: am f93bba5b: Merge "Allow ContextImpl.setTheme(int) to be called after getTheme()" into mnc-dev
* commit '4db1aca592019976ab684ff0084c8ec5aae03565': Allow ContextImpl.setTheme(int) to be called after getTheme()
This commit is contained in:
@@ -237,8 +237,11 @@ class ContextImpl extends Context {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTheme(int resid) {
|
||||
mThemeResource = resid;
|
||||
public void setTheme(int resId) {
|
||||
if (mThemeResource != resId) {
|
||||
mThemeResource = resId;
|
||||
initializeTheme();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -248,15 +251,24 @@ class ContextImpl extends Context {
|
||||
|
||||
@Override
|
||||
public Resources.Theme getTheme() {
|
||||
if (mTheme == null) {
|
||||
mThemeResource = Resources.selectDefaultTheme(mThemeResource,
|
||||
getOuterContext().getApplicationInfo().targetSdkVersion);
|
||||
mTheme = mResources.newTheme();
|
||||
mTheme.applyStyle(mThemeResource, true);
|
||||
if (mTheme != null) {
|
||||
return mTheme;
|
||||
}
|
||||
|
||||
mThemeResource = Resources.selectDefaultTheme(mThemeResource,
|
||||
getOuterContext().getApplicationInfo().targetSdkVersion);
|
||||
initializeTheme();
|
||||
|
||||
return mTheme;
|
||||
}
|
||||
|
||||
private void initializeTheme() {
|
||||
if (mTheme == null) {
|
||||
mTheme = mResources.newTheme();
|
||||
}
|
||||
mTheme.applyStyle(mThemeResource, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassLoader getClassLoader() {
|
||||
return mPackageInfo != null ?
|
||||
|
||||
@@ -87,9 +87,12 @@ public class ContextThemeWrapper extends ContextWrapper {
|
||||
}
|
||||
}
|
||||
|
||||
@Override public void setTheme(int resid) {
|
||||
mThemeResource = resid;
|
||||
initializeTheme();
|
||||
@Override
|
||||
public void setTheme(int resid) {
|
||||
if (mThemeResource != resid) {
|
||||
mThemeResource = resid;
|
||||
initializeTheme();
|
||||
}
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
|
||||
Reference in New Issue
Block a user