Round popup corner clipping rotation center

Before, it was possible for the rotation to occur around
a slightly off-center pivot on certain devices when the
display setting was set to "small."

Bug: 62049689
Change-Id: I5f2f557a1170cc98c0a83b87749526a4d7ea73f1
diff --git a/src/com/android/launcher3/popup/PopupItemView.java b/src/com/android/launcher3/popup/PopupItemView.java
index 05cadb6..8ec051b 100644
--- a/src/com/android/launcher3/popup/PopupItemView.java
+++ b/src/com/android/launcher3/popup/PopupItemView.java
@@ -100,22 +100,24 @@
         // Clip children to this item's rounded corners.
         int cornerWidth = mRoundedCornerBitmap.getWidth();
         int cornerHeight = mRoundedCornerBitmap.getHeight();
+        int cornerCenterX = Math.round(cornerWidth / 2f);
+        int cornerCenterY = Math.round(cornerHeight / 2f);
         if ((mRoundedCorners & ROUNDED_TOP_CORNERS) != 0) {
             // Clip top left corner.
             mMatrix.reset();
             canvas.drawBitmap(mRoundedCornerBitmap, mMatrix, mBackgroundClipPaint);
             // Clip top right corner.
-            mMatrix.setRotate(90, cornerWidth / 2, cornerHeight / 2);
+            mMatrix.setRotate(90, cornerCenterX, cornerCenterY);
             mMatrix.postTranslate(canvas.getWidth() - cornerWidth, 0);
             canvas.drawBitmap(mRoundedCornerBitmap, mMatrix, mBackgroundClipPaint);
         }
         if ((mRoundedCorners & ROUNDED_BOTTOM_CORNERS) != 0) {
             // Clip bottom right corner.
-            mMatrix.setRotate(180, cornerWidth / 2, cornerHeight / 2);
+            mMatrix.setRotate(180, cornerCenterX, cornerCenterY);
             mMatrix.postTranslate(canvas.getWidth() - cornerWidth, canvas.getHeight() - cornerHeight);
             canvas.drawBitmap(mRoundedCornerBitmap, mMatrix, mBackgroundClipPaint);
             // Clip bottom left corner.
-            mMatrix.setRotate(270, cornerWidth / 2, cornerHeight / 2);
+            mMatrix.setRotate(270, cornerCenterX, cornerCenterY);
             mMatrix.postTranslate(0, canvas.getHeight() - cornerHeight);
             canvas.drawBitmap(mRoundedCornerBitmap, mMatrix, mBackgroundClipPaint);
         }