Merge "Provide synchronization to setview to avoid NPE"

am: b05b93a674

Change-Id: I92bec8af349cae5232e65d88938635a93f06fc6a
This commit is contained in:
Gopal Krishna Shukla
2016-09-23 13:07:52 +00:00
committed by android-build-merger

View File

@@ -335,22 +335,19 @@ public final class WindowManagerGlobal {
mViews.add(view); mViews.add(view);
mRoots.add(root); mRoots.add(root);
mParams.add(wparams); mParams.add(wparams);
}
// do this last because it fires off messages to start doing things // do this last because it fires off messages to start doing things
try { try {
root.setView(view, wparams, panelParentView); root.setView(view, wparams, panelParentView);
} catch (RuntimeException e) { } catch (RuntimeException e) {
// BadTokenException or InvalidDisplayException, clean up. // BadTokenException or InvalidDisplayException, clean up.
synchronized (mLock) {
final int index = findViewLocked(view, false);
if (index >= 0) { if (index >= 0) {
removeViewLocked(index, true); removeViewLocked(index, true);
} }
}
throw e; throw e;
} }
} }
}
public void updateViewLayout(View view, ViewGroup.LayoutParams params) { public void updateViewLayout(View view, ViewGroup.LayoutParams params) {
if (view == null) { if (view == null) {