Merge "If the surface is lost, release it" into lmp-mr1-dev

This commit is contained in:
John Reck
2014-11-21 00:00:06 +00:00
committed by Android (Google) Code Review
2 changed files with 2 additions and 1 deletions

View File

@@ -340,6 +340,7 @@ public class ThreadedRenderer extends HardwareRenderer {
recordDuration, view.getResources().getDisplayMetrics().density);
if ((syncResult & SYNC_LOST_SURFACE_REWARD_IF_FOUND) != 0) {
setEnabled(false);
attachInfo.mViewRootImpl.mSurface.release();
// Invalidate since we failed to draw. This should fetch a Surface
// if it is still needed or do nothing if we are no longer drawing
attachInfo.mViewRootImpl.invalidate();

View File

@@ -245,7 +245,7 @@ public final class ViewRootImpl implements ViewParent,
// These can be accessed by any thread, must be protected with a lock.
// Surface can never be reassigned or cleared (use Surface.clear()).
private final Surface mSurface = new Surface();
final Surface mSurface = new Surface();
boolean mAdded;
boolean mAddedTouchMode;