summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/TextureView.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index b72222ee9f99..9d959fbf5981 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -261,6 +261,7 @@ public class TextureView extends View {
@Override
public final void draw(Canvas canvas) {
applyUpdate();
+ applyTransformMatrix();
}
/**
@@ -315,11 +316,7 @@ public class TextureView extends View {
}
applyUpdate();
-
- if (mMatrixChanged) {
- mLayer.setTransform(mMatrix);
- mMatrixChanged = false;
- }
+ applyTransformMatrix();
return mLayer;
}
@@ -386,7 +383,7 @@ public class TextureView extends View {
public void setTransform(Matrix transform) {
mMatrix.set(transform);
mMatrixChanged = true;
- invalidate();
+ invalidateParentIfNeeded();
}
/**
@@ -410,6 +407,13 @@ public class TextureView extends View {
return transform;
}
+ private void applyTransformMatrix() {
+ if (mMatrixChanged) {
+ mLayer.setTransform(mMatrix);
+ mMatrixChanged = false;
+ }
+ }
+
/**
* <p>Returns a {@link android.graphics.Bitmap} representation of the content
* of the associated surface texture. If the surface texture is not available,