diff options
| author | Romain Guy <romainguy@google.com> | 2011-11-21 10:55:41 -0800 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2011-11-21 10:55:41 -0800 |
| commit | 31f2c2e94656530fbf6282803e62edb47e9a894d (patch) | |
| tree | fddc1ff144eccb20909107456ebd37325c86d8be /core/java/android/view/TextureView.java | |
| parent | 7859c1842c1f2e3c43415dfb5337a0b005bdb1c4 (diff) | |
Notify views when EGL resources are about to be destroyed
Bug #5639899
Change-Id: I7c5d8bebf02294426f5b3ab1358a31c38a4fd064
Diffstat (limited to 'core/java/android/view/TextureView.java')
| -rw-r--r-- | core/java/android/view/TextureView.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java index 169738257b3b..3fd2d83a4a2f 100644 --- a/core/java/android/view/TextureView.java +++ b/core/java/android/view/TextureView.java @@ -203,7 +203,10 @@ public class TextureView extends View { @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); + destroySurface(); + } + private void destroySurface() { if (mLayer != null) { boolean shouldRelease = true; if (mListener != null) { @@ -301,6 +304,14 @@ public class TextureView extends View { } @Override + protected void destroyHardwareResources() { + super.destroyHardwareResources(); + destroySurface(); + invalidateParentCaches(); + invalidate(true); + } + + @Override HardwareLayer getHardwareLayer() { if (mLayer == null) { if (mAttachInfo == null || mAttachInfo.mHardwareRenderer == null) { |
