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());
}