Slightly round corners of popup arrow

Bug: 35766387
Change-Id: I8d2be54c977074dbcf0d5884f44347edd0217bb5
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 0b6100f..dd8c313 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -170,6 +170,7 @@
     <dimen name="popup_arrow_horizontal_center">24dp</dimen>
     <!-- popup_arrow_center - popup_arrow_width / 2-->
     <dimen name="popup_arrow_horizontal_offset">19dp</dimen>
+    <dimen name="popup_arrow_corner_radius">2dp</dimen>
     <!-- popup_item_width - icon_size - padding_start - drawable_padding -->
     <dimen name="deep_shortcuts_divider_width">158dp</dimen>
     <dimen name="system_shortcut_icon_size">24dp</dimen>
diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
index 99c7e75..0d16df0 100644
--- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java
+++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
@@ -26,6 +26,8 @@
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Color;
+import android.graphics.CornerPathEffect;
+import android.graphics.Paint;
 import android.graphics.PointF;
 import android.graphics.Rect;
 import android.graphics.drawable.ShapeDrawable;
@@ -486,7 +488,11 @@
         } else {
             ShapeDrawable arrowDrawable = new ShapeDrawable(TriangleShape.create(
                     width, height, !mIsAboveIcon));
-            arrowDrawable.getPaint().setColor(Color.WHITE);
+            Paint arrowPaint = arrowDrawable.getPaint();
+            arrowPaint.setColor(Color.WHITE);
+            // The corner path effect won't be reflected in the shadow, but shouldn't be noticeable.
+            int radius = getResources().getDimensionPixelSize(R.dimen.popup_arrow_corner_radius);
+            arrowPaint.setPathEffect(new CornerPathEffect(radius));
             arrowView.setBackground(arrowDrawable);
             arrowView.setElevation(getElevation());
         }