Loading core/java/com/android/internal/policy/DecorContext.java +17 −2 Original line number Original line Diff line number Diff line Loading @@ -17,22 +17,27 @@ package com.android.internal.policy; package com.android.internal.policy; import android.content.Context; import android.content.Context; import android.content.res.AssetManager; import android.content.res.Resources; import android.view.ContextThemeWrapper; import android.view.ContextThemeWrapper; import android.view.WindowManager; import android.view.WindowManager; import android.view.WindowManagerImpl; import android.view.WindowManagerImpl; /** /** * Context for decor views which can be seeded with pure application context and not depend on the * 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 * @hide */ */ class DecorContext extends ContextThemeWrapper { class DecorContext extends ContextThemeWrapper { private PhoneWindow mPhoneWindow; private PhoneWindow mPhoneWindow; private WindowManager mWindowManager; private WindowManager mWindowManager; private Resources mActivityResources; public DecorContext(Context context) { public DecorContext(Context context, Resources activityResources) { super(context, null); super(context, null); mActivityResources = activityResources; } } void setPhoneWindow(PhoneWindow phoneWindow) { void setPhoneWindow(PhoneWindow phoneWindow) { Loading @@ -52,4 +57,14 @@ class DecorContext extends ContextThemeWrapper { } } return super.getSystemService(name); return super.getSystemService(name); } } @Override public Resources getResources() { return mActivityResources; } @Override public AssetManager getAssets() { return mActivityResources.getAssets(); } } } core/java/com/android/internal/policy/PhoneWindow.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -2297,7 +2297,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { if (applicationContext == null) { if (applicationContext == null) { context = getContext(); context = getContext(); } else { } else { context = new DecorContext(applicationContext); context = new DecorContext(applicationContext, getContext().getResources()); if (mTheme != -1) { if (mTheme != -1) { context.setTheme(mTheme); context.setTheme(mTheme); } } Loading Loading
core/java/com/android/internal/policy/DecorContext.java +17 −2 Original line number Original line Diff line number Diff line Loading @@ -17,22 +17,27 @@ package com.android.internal.policy; package com.android.internal.policy; import android.content.Context; import android.content.Context; import android.content.res.AssetManager; import android.content.res.Resources; import android.view.ContextThemeWrapper; import android.view.ContextThemeWrapper; import android.view.WindowManager; import android.view.WindowManager; import android.view.WindowManagerImpl; import android.view.WindowManagerImpl; /** /** * Context for decor views which can be seeded with pure application context and not depend on the * 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 * @hide */ */ class DecorContext extends ContextThemeWrapper { class DecorContext extends ContextThemeWrapper { private PhoneWindow mPhoneWindow; private PhoneWindow mPhoneWindow; private WindowManager mWindowManager; private WindowManager mWindowManager; private Resources mActivityResources; public DecorContext(Context context) { public DecorContext(Context context, Resources activityResources) { super(context, null); super(context, null); mActivityResources = activityResources; } } void setPhoneWindow(PhoneWindow phoneWindow) { void setPhoneWindow(PhoneWindow phoneWindow) { Loading @@ -52,4 +57,14 @@ class DecorContext extends ContextThemeWrapper { } } return super.getSystemService(name); return super.getSystemService(name); } } @Override public Resources getResources() { return mActivityResources; } @Override public AssetManager getAssets() { return mActivityResources.getAssets(); } } }
core/java/com/android/internal/policy/PhoneWindow.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -2297,7 +2297,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { if (applicationContext == null) { if (applicationContext == null) { context = getContext(); context = getContext(); } else { } else { context = new DecorContext(applicationContext); context = new DecorContext(applicationContext, getContext().getResources()); if (mTheme != -1) { if (mTheme != -1) { context.setTheme(mTheme); context.setTheme(mTheme); } } Loading