Fix getting an empty thumbnail in reviewing panorama.

The sample size for generating a thumbnail should be calculated in a way
that also considers the case of a portrait image, i.e., height > width.
The SharePopup should also puts the thumbnail of a portrait panorama in
the center of the thumbnail view.

Bug: 5411488

Change-Id: I5e86a91829de77f4694c039bd871e6831f3906cb
diff --git a/src/com/android/camera/panorama/PanoramaActivity.java b/src/com/android/camera/panorama/PanoramaActivity.java
index 25c565f..48a455e 100755
--- a/src/com/android/camera/panorama/PanoramaActivity.java
+++ b/src/com/android/camera/panorama/PanoramaActivity.java
@@ -776,11 +776,14 @@
                     int orientation = Exif.getOrientation(jpeg.data);
                     Uri uri = savePanorama(jpeg.data, jpeg.width, jpeg.height, orientation);
                     if (uri != null) {
-                        // Create a thumbnail whose width is equal or bigger
-                        // than the entire screen.
-                        int ratio = (int) Math.ceil((double) jpeg.width /
-                                mPanoLayout.getWidth());
-                        int inSampleSize = Integer.highestOneBit(ratio);
+                        // Create a thumbnail whose width or height is equal or bigger
+                        // than the screen's width or height.
+                        int widthRatio = (int) Math.ceil((double) jpeg.width
+                                / mPanoLayout.getWidth());
+                        int heightRatio = (int) Math.ceil((double) jpeg.height
+                                / mPanoLayout.getHeight());
+                        int inSampleSize = Integer.highestOneBit(
+                                Math.max(widthRatio, heightRatio));
                         mThumbnail = Thumbnail.createThumbnail(
                                 jpeg.data, orientation, inSampleSize, uri);
                     }
diff --git a/src/com/android/camera/ui/SharePopup.java b/src/com/android/camera/ui/SharePopup.java
index 84bada4..3917c54 100644
--- a/src/com/android/camera/ui/SharePopup.java
+++ b/src/com/android/camera/ui/SharePopup.java
@@ -198,10 +198,9 @@
                 new RelativeLayout.LayoutParams(lpOld.width, lpOld.height);
 
         mRootView.setBackgroundDrawable(null);
-        if (mBitmapWidth > mBitmapHeight*2) {
+        if (mBitmapWidth > mBitmapHeight * 2 || mBitmapHeight > mBitmapWidth * 2) {
             // panorama image
-            lpNew.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
-            lpNew.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
+            lpNew.addRule(RelativeLayout.CENTER_HORIZONTAL);
             lpNew.addRule(RelativeLayout.CENTER_VERTICAL);
 
             // panorama images block the preview from showing in the background