summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTony <twickham@google.com>2017-05-09 19:23:47 -0500
committerTony <twickham@google.com>2017-05-09 20:02:23 -0500
commit0b8a6fe53240f8c8271efed0fc470a65553707de (patch)
tree4d8bbfb5b8a262d896a1315b067ad7c7c7266da7 /src
parent9a1227105a00ea740151f91ae3aab75a688d32ac (diff)
downloadandroid_packages_apps_Trebuchet-0b8a6fe53240f8c8271efed0fc470a65553707de.tar.gz
android_packages_apps_Trebuchet-0b8a6fe53240f8c8271efed0fc470a65553707de.tar.bz2
android_packages_apps_Trebuchet-0b8a6fe53240f8c8271efed0fc470a65553707de.zip
Visual updates for popup
- Update some dimens - Increase left padding for shortcuts - Adjust arrow and notification ellipsis offset accordingly - Align shortcut dividers to be same width as text - Notification text 14sp instead of 15sp - Increase width of popup by 12dp - Shortcuts text 87% black instead of 54% - Arrow has same color as attached side, so takes on header gray instead of white when appropriate Bug: 37753827 Change-Id: I0844b85995f22218a3b7e605e1653cceaed6cda1
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/notification/NotificationItemView.java10
-rw-r--r--src/com/android/launcher3/popup/PopupContainerWithArrow.java12
-rw-r--r--src/com/android/launcher3/popup/PopupItemView.java14
-rw-r--r--src/com/android/launcher3/shortcuts/ShortcutsItemView.java9
4 files changed, 37 insertions, 8 deletions
diff --git a/src/com/android/launcher3/notification/NotificationItemView.java b/src/com/android/launcher3/notification/NotificationItemView.java
index e5bf35a1e..dd272b3bc 100644
--- a/src/com/android/launcher3/notification/NotificationItemView.java
+++ b/src/com/android/launcher3/notification/NotificationItemView.java
@@ -21,6 +21,7 @@ import android.app.Notification;
import android.content.Context;
import android.graphics.Rect;
import android.support.annotation.Nullable;
+import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
@@ -93,7 +94,7 @@ public class NotificationItemView extends PopupItemView implements LogContainerP
if (mNotificationHeaderTextColor == Notification.COLOR_DEFAULT) {
mNotificationHeaderTextColor =
IconPalette.resolveContrastColor(getContext(), palette.dominantColor,
- getResources().getColor(R.color.notification_header_background_color));
+ getResources().getColor(R.color.popup_header_background_color));
}
mHeaderCount.setTextColor(mNotificationHeaderTextColor);
}
@@ -158,6 +159,13 @@ public class NotificationItemView extends PopupItemView implements LogContainerP
}
@Override
+ public int getArrowColor(boolean isArrowAttachedToBottom) {
+ return ContextCompat.getColor(getContext(), isArrowAttachedToBottom
+ ? R.color.popup_background_color
+ : R.color.popup_header_background_color);
+ }
+
+ @Override
public void fillInLogContainerData(View v, ItemInfo info, LauncherLogProto.Target target,
LauncherLogProto.Target targetParent) {
target.itemType = LauncherLogProto.ItemType.NOTIFICATION;
diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
index fb7f80ceb..d4ee3b8cb 100644
--- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java
+++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
@@ -25,7 +25,6 @@ import android.animation.ValueAnimator;
import android.annotation.TargetApi;
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;
@@ -169,8 +168,6 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
final Resources resources = getResources();
final int arrowWidth = resources.getDimensionPixelSize(R.dimen.popup_arrow_width);
final int arrowHeight = resources.getDimensionPixelSize(R.dimen.popup_arrow_height);
- final int arrowHorizontalOffset = resources.getDimensionPixelSize(
- R.dimen.popup_arrow_horizontal_offset);
final int arrowVerticalOffset = resources.getDimensionPixelSize(
R.dimen.popup_arrow_vertical_offset);
@@ -208,6 +205,9 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
}
// Add the arrow.
+ final int arrowHorizontalOffset = resources.getDimensionPixelSize(isAlignedWithStart() ?
+ R.dimen.popup_arrow_horizontal_offset_start :
+ R.dimen.popup_arrow_horizontal_offset_end);
mArrow = addArrowView(arrowHorizontalOffset, arrowVerticalOffset, arrowWidth, arrowHeight);
mArrow.setPivotX(arrowWidth / 2);
mArrow.setPivotY(mIsAboveIcon ? 0 : arrowHeight);
@@ -493,7 +493,11 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
ShapeDrawable arrowDrawable = new ShapeDrawable(TriangleShape.create(
width, height, !mIsAboveIcon));
Paint arrowPaint = arrowDrawable.getPaint();
- arrowPaint.setColor(Color.WHITE);
+ // Note that we have to use getChildAt() instead of getItemViewAt(),
+ // since the latter expects the arrow which hasn't been added yet.
+ PopupItemView itemAttachedToArrow = (PopupItemView)
+ (getChildAt(mIsAboveIcon ? getChildCount() - 1 : 0));
+ arrowPaint.setColor(itemAttachedToArrow.getArrowColor(mIsAboveIcon));
// 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));
diff --git a/src/com/android/launcher3/popup/PopupItemView.java b/src/com/android/launcher3/popup/PopupItemView.java
index a18f650c1..384f554e1 100644
--- a/src/com/android/launcher3/popup/PopupItemView.java
+++ b/src/com/android/launcher3/popup/PopupItemView.java
@@ -48,7 +48,7 @@ public abstract class PopupItemView extends FrameLayout
protected final Rect mPillRect;
private float mOpenAnimationProgress;
-
+ protected final boolean mIsRtl;
protected View mIconView;
private final Paint mBackgroundClipPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);
@@ -75,6 +75,8 @@ public abstract class PopupItemView extends FrameLayout
canvas.setBitmap(mRoundedCornerBitmap);
canvas.drawArc(0, 0, radius*2, radius*2, 180, 90, true, mBackgroundClipPaint);
mBackgroundClipPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
+
+ mIsRtl = Utilities.isRtl(getResources());
}
@Override
@@ -120,7 +122,9 @@ public abstract class PopupItemView extends FrameLayout
*/
public Animator createOpenAnimation(boolean isContainerAboveIcon, boolean pivotLeft) {
Point center = getIconCenter();
- int arrowCenter = getResources().getDimensionPixelSize(R.dimen.popup_arrow_horizontal_center);
+ int arrowCenter = getResources().getDimensionPixelSize(pivotLeft ^ mIsRtl ?
+ R.dimen.popup_arrow_horizontal_center_start:
+ R.dimen.popup_arrow_horizontal_center_end);
ValueAnimator openAnimator = new ZoomRevealOutlineProvider(center.x, center.y,
mPillRect, this, mIconView, isContainerAboveIcon, pivotLeft, arrowCenter)
.createRevealAnimator(this, false);
@@ -144,7 +148,9 @@ public abstract class PopupItemView extends FrameLayout
public Animator createCloseAnimation(boolean isContainerAboveIcon, boolean pivotLeft,
long duration) {
Point center = getIconCenter();
- int arrowCenter = getResources().getDimensionPixelSize(R.dimen.popup_arrow_horizontal_center);
+ int arrowCenter = getResources().getDimensionPixelSize(pivotLeft ^ mIsRtl ?
+ R.dimen.popup_arrow_horizontal_center_start :
+ R.dimen.popup_arrow_horizontal_center_end);
ValueAnimator closeAnimator = new ZoomRevealOutlineProvider(center.x, center.y,
mPillRect, this, mIconView, isContainerAboveIcon, pivotLeft, arrowCenter)
.createRevealAnimator(this, true);
@@ -177,6 +183,8 @@ public abstract class PopupItemView extends FrameLayout
return getResources().getDimensionPixelSize(R.dimen.bg_round_rect_radius);
}
+ public abstract int getArrowColor(boolean isArrowAttachedToBottom);
+
/**
* Extension of {@link PillRevealOutlineProvider} which scales the icon based on the height.
*/
diff --git a/src/com/android/launcher3/shortcuts/ShortcutsItemView.java b/src/com/android/launcher3/shortcuts/ShortcutsItemView.java
index ee64b984a..28f3963c2 100644
--- a/src/com/android/launcher3/shortcuts/ShortcutsItemView.java
+++ b/src/com/android/launcher3/shortcuts/ShortcutsItemView.java
@@ -20,6 +20,7 @@ import android.animation.Animator;
import android.animation.AnimatorSet;
import android.content.Context;
import android.graphics.Point;
+import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
@@ -246,6 +247,14 @@ public class ShortcutsItemView extends PopupItemView implements View.OnLongClick
}
@Override
+ public int getArrowColor(boolean isArrowAttachedToBottom) {
+ return ContextCompat.getColor(getContext(),
+ isArrowAttachedToBottom || mSystemShortcutIcons == null
+ ? R.color.popup_background_color
+ : R.color.popup_header_background_color);
+ }
+
+ @Override
public void fillInLogContainerData(View v, ItemInfo info, LauncherLogProto.Target target,
LauncherLogProto.Target targetParent) {
target.itemType = LauncherLogProto.ItemType.DEEPSHORTCUT;