summaryrefslogtreecommitdiff
path: root/core/java/android/view/TextureView.java
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-11-21 10:55:41 -0800
committerRomain Guy <romainguy@google.com>2011-11-21 10:55:41 -0800
commit31f2c2e94656530fbf6282803e62edb47e9a894d (patch)
treefddc1ff144eccb20909107456ebd37325c86d8be /core/java/android/view/TextureView.java
parent7859c1842c1f2e3c43415dfb5337a0b005bdb1c4 (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.java11
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) {