Merge "Use Activity resources in DecorContext" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
6cc31990fc
@@ -17,22 +17,27 @@
|
||||
package com.android.internal.policy;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.AssetManager;
|
||||
import android.content.res.Resources;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.WindowManager;
|
||||
import android.view.WindowManagerImpl;
|
||||
|
||||
/**
|
||||
* Context for decor views which can be seeded with pure application context and not depend on the
|
||||
* activity, but still provide some of the facilities that Activity has, e.g. themes.
|
||||
* activity, but still provide some of the facilities that Activity has,
|
||||
* e.g. themes, activity-based resources, etc.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
class DecorContext extends ContextThemeWrapper {
|
||||
private PhoneWindow mPhoneWindow;
|
||||
private WindowManager mWindowManager;
|
||||
private Resources mActivityResources;
|
||||
|
||||
public DecorContext(Context context) {
|
||||
public DecorContext(Context context, Resources activityResources) {
|
||||
super(context, null);
|
||||
mActivityResources = activityResources;
|
||||
}
|
||||
|
||||
void setPhoneWindow(PhoneWindow phoneWindow) {
|
||||
@@ -52,4 +57,14 @@ class DecorContext extends ContextThemeWrapper {
|
||||
}
|
||||
return super.getSystemService(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resources getResources() {
|
||||
return mActivityResources;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AssetManager getAssets() {
|
||||
return mActivityResources.getAssets();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2297,7 +2297,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
|
||||
if (applicationContext == null) {
|
||||
context = getContext();
|
||||
} else {
|
||||
context = new DecorContext(applicationContext);
|
||||
context = new DecorContext(applicationContext, getContext().getResources());
|
||||
if (mTheme != -1) {
|
||||
context.setTheme(mTheme);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user