Fix layoutlib [DO NOT MERGE]

Fix a NPE.

The cherry-pick differs slightly from the original to remove changes not
relevant to the current branch.

Bug: 11140701
Change-Id: Id92fc5359acf6dde1bcdbc781aaf637fdb6eecbf
(cherry-picked from 28873c1f00)
This commit is contained in:
Deepanshu Gupta
2013-10-16 20:27:51 -07:00
parent 7b5d54f05b
commit 87be67f917

View File

@@ -248,11 +248,16 @@ public abstract class RenderAction<T extends RenderParams> extends FrameworkReso
* The counterpart is {@link #setUp()}. * The counterpart is {@link #setUp()}.
*/ */
private void tearDown() { private void tearDown() {
// Make sure to remove static references, otherwise we could not unload the lib // The context may be null, if there was an error during init().
mContext.disposeResources(); if (mContext != null) {
// Make sure to remove static references, otherwise we could not unload the lib
mContext.disposeResources();
}
// quit HandlerThread created during this session. if (sCurrentContext != null) {
HandlerThread_Delegate.cleanUp(sCurrentContext); // quit HandlerThread created during this session.
HandlerThread_Delegate.cleanUp(sCurrentContext);
}
// clear the stored ViewConfiguration since the map is per density and not per context. // clear the stored ViewConfiguration since the map is per density and not per context.
ViewConfiguration_Accessor.clearConfigurations(); ViewConfiguration_Accessor.clearConfigurations();
@@ -263,8 +268,12 @@ public abstract class RenderAction<T extends RenderParams> extends FrameworkReso
sCurrentContext = null; sCurrentContext = null;
Bridge.setLog(null); Bridge.setLog(null);
mContext.getRenderResources().setFrameworkResourceIdProvider(null); if (mContext != null) {
mContext.getRenderResources().setLogger(null); mContext.getRenderResources().setFrameworkResourceIdProvider(null);
mContext.getRenderResources().setLogger(null);
}
mContext = null;
} }
public static BridgeContext getCurrentContext() { public static BridgeContext getCurrentContext() {