am 97b5b765: merge -s ours from froyo-release so that upgrading to gingerbread is a git fast-forward

Merge commit '97b5b7650236dd102fa48b51d9361289724a50e9' into gingerbread-plus-aosp

* commit '97b5b7650236dd102fa48b51d9361289724a50e9':
  Add a missing break; to restore old functionality and not turn off the screen after 30secs regardless of system preference.
  Amend previous ndc commit
  Add a method to let a properly permissioned app directly
  Changed SyncOperation.toKey() to not rely on the implementation of
  Squashed commit of the following:
  Add more error checking for ndc
  PackageManagerService: always install native binaries from .apk
  Add PhoneSubInfo.getCompleteVoiceMailNumber.
  Fix a bug where we cleaned an apps external data when upgrading it. :(
  Skip hostname verification when using insecure factory
  Flush binder buffer after setting raw heap to avoid leaking a reference.
  Fix issue #2834005: Android Settings.Secure bypass
  Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.
  Verify hostname where possible, and clarify where not.
diff --git a/opengl/libagl/egl.cpp b/opengl/libagl/egl.cpp
index 9e25681..53cc398 100644
--- a/opengl/libagl/egl.cpp
+++ b/opengl/libagl/egl.cpp
@@ -485,13 +485,13 @@
     copybit_device_t* const copybit = blitengine;
     if (copybit)  {
         copybit_image_t simg;
-        simg.w = src->width;
+        simg.w = src->stride;
         simg.h = src->height;
         simg.format = src->format;
         simg.handle = const_cast<native_handle_t*>(src->handle);
 
         copybit_image_t dimg;
-        dimg.w = dst->width;
+        dimg.w = dst->stride;
         dimg.h = dst->height;
         dimg.format = dst->format;
         dimg.handle = const_cast<native_handle_t*>(dst->handle);
diff --git a/opengl/tests/gl_jni/jni/gl_code.cpp b/opengl/tests/gl_jni/jni/gl_code.cpp
index f031c79..ef66841 100644
--- a/opengl/tests/gl_jni/jni/gl_code.cpp
+++ b/opengl/tests/gl_jni/jni/gl_code.cpp
@@ -181,4 +181,3 @@
 {
     background = 1.0f - background;
 }
-
diff --git a/services/surfaceflinger/LayerBuffer.cpp b/services/surfaceflinger/LayerBuffer.cpp
index 5f83636..e8b2ebf 100644
--- a/services/surfaceflinger/LayerBuffer.cpp
+++ b/services/surfaceflinger/LayerBuffer.cpp
@@ -495,7 +495,7 @@
     const ISurface::BufferHeap& buffers(mBufferHeap);
     uint32_t w = mLayer.mTransformedBounds.width();
     uint32_t h = mLayer.mTransformedBounds.height();
-    if (buffers.w * h != buffers.h * w) {
+    if (mLayer.getOrientation() & (Transform::ROT_90 | Transform::ROT_270)) {
         int t = w; w = h; h = t;
     }