From d690d68f976ce0394d28f83352f922f3cccab16b Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Tue, 11 Apr 2017 16:21:41 -0700 Subject: [PATCH] Add app info icon with no shadow for popup - Also changed opacities of the system shortcut icons to match spec (38% black in header, 54% when expanded view is shown) Bug: 35766387 Change-Id: I73881bf1c72c98d78a38d82c632c4954b02eff4e --- res/drawable/ic_info_no_shadow.xml | 24 +++++++++++++++++++ .../launcher3/popup/PopupPopulator.java | 16 ++++++++----- .../launcher3/popup/SystemShortcut.java | 15 ++++++------ .../launcher3/widget/WidgetsAndMore.java | 2 -- 4 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 res/drawable/ic_info_no_shadow.xml diff --git a/res/drawable/ic_info_no_shadow.xml b/res/drawable/ic_info_no_shadow.xml new file mode 100644 index 0000000000..3d0c6d6e47 --- /dev/null +++ b/res/drawable/ic_info_no_shadow.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/src/com/android/launcher3/popup/PopupPopulator.java b/src/com/android/launcher3/popup/PopupPopulator.java index d26d3062b4..cfece51cfa 100644 --- a/src/com/android/launcher3/popup/PopupPopulator.java +++ b/src/com/android/launcher3/popup/PopupPopulator.java @@ -17,7 +17,7 @@ package com.android.launcher3.popup; import android.content.ComponentName; -import android.content.res.Resources; +import android.content.Context; import android.os.Handler; import android.os.UserHandle; import android.service.notification.StatusBarNotification; @@ -288,15 +288,19 @@ public class PopupPopulator { @Override public void run() { - final Resources res = mSystemShortcutChild.getResources(); + final Context context = mSystemShortcutChild.getContext(); if (mSystemShortcutChild instanceof DeepShortcutView) { + // Expanded system shortcut, with both icon and text shown on white background. final DeepShortcutView shortcutView = (DeepShortcutView) mSystemShortcutChild; - shortcutView.getIconView().setBackground(mSystemShortcutInfo.getIcon(res)); - shortcutView.getBubbleText().setText(mSystemShortcutInfo.getLabel(res)); + shortcutView.getIconView().setBackground(mSystemShortcutInfo.getIcon(context, + android.R.attr.textColorTertiary)); + shortcutView.getBubbleText().setText(mSystemShortcutInfo.getLabel(context)); } else if (mSystemShortcutChild instanceof ImageView) { + // Only the system shortcut icon shows on a gray background header. final ImageView shortcutIcon = (ImageView) mSystemShortcutChild; - shortcutIcon.setImageDrawable(mSystemShortcutInfo.getIcon(res)); - shortcutIcon.setContentDescription(mSystemShortcutInfo.getLabel(res)); + shortcutIcon.setImageDrawable(mSystemShortcutInfo.getIcon(context, + android.R.attr.textColorHint)); + shortcutIcon.setContentDescription(mSystemShortcutInfo.getLabel(context)); } if (!(mSystemShortcutInfo instanceof SystemShortcut.Widgets)) { mSystemShortcutChild.setOnClickListener(mSystemShortcutInfo diff --git a/src/com/android/launcher3/popup/SystemShortcut.java b/src/com/android/launcher3/popup/SystemShortcut.java index d94db43b82..d08f876d7d 100644 --- a/src/com/android/launcher3/popup/SystemShortcut.java +++ b/src/com/android/launcher3/popup/SystemShortcut.java @@ -1,6 +1,6 @@ package com.android.launcher3.popup; -import android.content.res.Resources; +import android.content.Context; import android.graphics.drawable.Drawable; import android.view.View; @@ -10,6 +10,7 @@ import com.android.launcher3.Launcher; import com.android.launcher3.R; import com.android.launcher3.model.WidgetItem; import com.android.launcher3.util.PackageUserKey; +import com.android.launcher3.util.Themes; import com.android.launcher3.widget.WidgetsAndMore; import java.util.List; @@ -29,14 +30,14 @@ public abstract class SystemShortcut { mLabelResId = labelResId; } - public Drawable getIcon(Resources resources) { - Drawable icon = resources.getDrawable(mIconResId); - icon.setTint(resources.getColor(R.color.system_shortcuts_icon_color)); + public Drawable getIcon(Context context, int colorAttr) { + Drawable icon = context.getResources().getDrawable(mIconResId); + icon.setTint(Themes.getAttrColor(context, colorAttr)); return icon; } - public String getLabel(Resources resources) { - return resources.getString(mLabelResId); + public String getLabel(Context context) { + return context.getString(mLabelResId); } public abstract View.OnClickListener getOnClickListener(final Launcher launcher, @@ -72,7 +73,7 @@ public abstract class SystemShortcut { public static class AppInfo extends SystemShortcut { public AppInfo() { - super(R.drawable.ic_info_launcher, R.string.app_info_drop_target_label); + super(R.drawable.ic_info_no_shadow, R.string.app_info_drop_target_label); } @Override diff --git a/src/com/android/launcher3/widget/WidgetsAndMore.java b/src/com/android/launcher3/widget/WidgetsAndMore.java index 1aea534fd8..a8e7e38264 100644 --- a/src/com/android/launcher3/widget/WidgetsAndMore.java +++ b/src/com/android/launcher3/widget/WidgetsAndMore.java @@ -53,8 +53,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import static android.R.attr.bottom; - /** * Bottom sheet for the "Widgets & more" long-press option. */