summaryrefslogtreecommitdiff
path: root/core/java/android/view/TextureView.java
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2012-05-21 16:32:59 -0700
committerRomain Guy <romainguy@google.com>2012-05-21 16:36:05 -0700
commit51f7c6b3620549429cd6c62e38bace43085e04fb (patch)
tree03d5dbbc5e918943f7e58baccb6065a6631a50d8 /core/java/android/view/TextureView.java
parente2d7f182ff2db26723089206c7d01f6695bd3dfc (diff)
Flip TextureView's layer after calling setSurfaceTexture()
Bug #6531172 Changing the surface texture would not update the layer properties nor its transform matrix. Change-Id: I54e155a410d7e72f1a8edf3a4ab0034bf764ae28
Diffstat (limited to 'core/java/android/view/TextureView.java')
-rw-r--r--core/java/android/view/TextureView.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/view/TextureView.java b/core/java/android/view/TextureView.java
index 411aed348a55..a719a0159c18 100644
--- a/core/java/android/view/TextureView.java
+++ b/core/java/android/view/TextureView.java
@@ -374,6 +374,14 @@ public class TextureView extends View {
// tell mLayer about it and set the SurfaceTexture to use the
// current view size.
mUpdateSurface = false;
+
+ // Since we are updating the layer, force an update to ensure its
+ // parameters are correct (width, height, transform, etc.)
+ synchronized (mLock) {
+ mUpdateLayer = true;
+ }
+ mMatrixChanged = true;
+
mAttachInfo.mHardwareRenderer.setSurfaceTexture(mLayer, mSurface);
nSetDefaultBufferSize(mSurface, getWidth(), getHeight());
}
@@ -471,7 +479,7 @@ public class TextureView extends View {
}
private void applyTransformMatrix() {
- if (mMatrixChanged) {
+ if (mMatrixChanged && mLayer != null) {
mLayer.setTransform(mMatrix);
mMatrixChanged = false;
}