AI 143320: am: CL 143171 am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
  Original author: mathias
  Merged from: //branches/cupcake/...
  Original author: android-build
  Merged from: //branches/donutburger/...

Automated import of CL 143320
diff --git a/libs/ui/ISurfaceComposer.cpp b/libs/ui/ISurfaceComposer.cpp
index 0fea6f9..76597e1 100644
--- a/libs/ui/ISurfaceComposer.cpp
+++ b/libs/ui/ISurfaceComposer.cpp
@@ -96,12 +96,13 @@
         return reply.readInt32();
     }
 
-    virtual int setOrientation(DisplayID dpy, int orientation)
+    virtual int setOrientation(DisplayID dpy, int orientation, uint32_t flags)
     {
         Parcel data, reply;
         data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor());
         data.writeInt32(dpy);
         data.writeInt32(orientation);
+        data.writeInt32(flags);
         remote()->transact(BnSurfaceComposer::SET_ORIENTATION, data, &reply);
         return reply.readInt32();
     }
@@ -184,7 +185,8 @@
         case SET_ORIENTATION: {
             DisplayID dpy = data.readInt32();
             int orientation = data.readInt32();
-            reply->writeInt32( setOrientation(dpy, orientation) );
+            uint32_t flags = data.readInt32();
+            reply->writeInt32( setOrientation(dpy, orientation, flags) );
         } break;
         case FREEZE_DISPLAY: {
             DisplayID dpy = data.readInt32();
diff --git a/libs/ui/SurfaceComposerClient.cpp b/libs/ui/SurfaceComposerClient.cpp
index 9354a7a..fe803ff 100644
--- a/libs/ui/SurfaceComposerClient.cpp
+++ b/libs/ui/SurfaceComposerClient.cpp
@@ -813,10 +813,11 @@
     return sm->unfreezeDisplay(dpy, flags);
 }
 
-int SurfaceComposerClient::setOrientation(DisplayID dpy, int orientation)
+int SurfaceComposerClient::setOrientation(DisplayID dpy, 
+        int orientation, uint32_t flags)
 {
     const sp<ISurfaceComposer>& sm(_get_surface_manager());
-    return sm->setOrientation(dpy, orientation);
+    return sm->setOrientation(dpy, orientation, flags);
 }
 
 status_t SurfaceComposerClient::openTransaction()