Apply position updates immediately.

Restores the behavior prior to moving transform
in to geometry state. Now geometry state and scaling
mode only control parameters which would cause
buffer scaling.

Bug: 27729195
Bug: 27687126

Change-Id: I653b84e74407f2533c92f7647e2609fc043ed0a4
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index afaba1f..ac99cd0 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -1495,7 +1495,13 @@
     if (mCurrentState.requested.transform.tx() == x && mCurrentState.requested.transform.ty() == y)
         return false;
     mCurrentState.sequence++;
+
+    // We update the requested and active position simultaneously because
+    // we want to apply the position portion of the transform matrix immediately,
+    // but still delay scaling when resizing a SCALING_MODE_FREEZE layer.
     mCurrentState.requested.transform.set(x, y);
+    mCurrentState.active.transform.set(x, y);
+
     mCurrentState.modified = true;
     setTransactionFlags(eTransactionNeeded);
     return true;