summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2016-08-08 21:20:23 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-08-08 21:20:23 +0000
commitd3d90964879d8065260306c63d4479b0236fed48 (patch)
tree393976badc86455ee213ce4ab745aff2b7e6c744
parent40afca1f372fc187e59caab10fb05f57eeaadfd6 (diff)
parent84af784548e587e12400a941492a16f28f3189ae (diff)
downloadandroid_packages_apps_Trebuchet-d3d90964879d8065260306c63d4479b0236fed48.tar.gz
android_packages_apps_Trebuchet-d3d90964879d8065260306c63d4479b0236fed48.tar.bz2
android_packages_apps_Trebuchet-d3d90964879d8065260306c63d4479b0236fed48.zip
Make padding consistent between shortcuts and the app icon. am: 988e2b7a4d
am: 84af784548 Change-Id: Ic3965ae8730d9629b0f2b90505b5ecd9e8cbcf2a
-rw-r--r--res/layout/deep_shortcuts_container.xml3
-rw-r--r--src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java30
2 files changed, 20 insertions, 13 deletions
diff --git a/res/layout/deep_shortcuts_container.xml b/res/layout/deep_shortcuts_container.xml
index 92e7a83f3..68bb60f24 100644
--- a/res/layout/deep_shortcuts_container.xml
+++ b/res/layout/deep_shortcuts_container.xml
@@ -19,6 +19,9 @@
android:id="@+id/deep_shortcuts_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:clipToPadding="false"
android:clipChildren="false"
android:elevation="@dimen/deep_shortcuts_elevation"
android:orientation="vertical">
diff --git a/src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java b/src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java
index a341b973c..ce3348df7 100644
--- a/src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java
+++ b/src/com/android/launcher3/shortcuts/DeepShortcutsContainer.java
@@ -134,6 +134,14 @@ public class DeepShortcutsContainer extends LinearLayout implements View.OnLongC
}
public void populateAndShow(final BubbleTextView originalIcon, final List<String> ids) {
+ final Resources resources = getResources();
+ final int arrowWidth = resources.getDimensionPixelSize(R.dimen.deep_shortcuts_arrow_width);
+ final int arrowHeight = resources.getDimensionPixelSize(R.dimen.deep_shortcuts_arrow_height);
+ mArrowHorizontalOffset = resources.getDimensionPixelSize(
+ R.dimen.deep_shortcuts_arrow_horizontal_offset);
+ final int arrowVerticalOffset = resources.getDimensionPixelSize(
+ R.dimen.deep_shortcuts_arrow_vertical_offset);
+
// Add dummy views first, and populate with real shortcut info when ready.
final int spacing = getResources().getDimensionPixelSize(R.dimen.deep_shortcuts_spacing);
final LayoutInflater inflater = mLauncher.getLayoutInflater();
@@ -151,16 +159,9 @@ public class DeepShortcutsContainer extends LinearLayout implements View.OnLongC
numShortcuts, originalIcon.getContentDescription().toString()));
measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
- orientAboutIcon(originalIcon);
+ orientAboutIcon(originalIcon, arrowHeight + arrowVerticalOffset);
// Add the arrow.
- final Resources resources = getResources();
- final int arrowWidth = resources.getDimensionPixelSize(R.dimen.deep_shortcuts_arrow_width);
- final int arrowHeight = resources.getDimensionPixelSize(R.dimen.deep_shortcuts_arrow_height);
- mArrowHorizontalOffset = resources.getDimensionPixelSize(
- R.dimen.deep_shortcuts_arrow_horizontal_offset);
- final int arrowVerticalOffset = resources.getDimensionPixelSize(
- R.dimen.deep_shortcuts_arrow_vertical_offset);
mArrow = addArrowView(mArrowHorizontalOffset, arrowVerticalOffset, arrowWidth, arrowHeight);
mArrow.setPivotX(arrowWidth / 2);
mArrow.setPivotY(mIsAboveIcon ? 0 : arrowHeight);
@@ -308,9 +309,9 @@ public class DeepShortcutsContainer extends LinearLayout implements View.OnLongC
* So we always align left if there is enough horizontal space
* and align above if there is enough vertical space.
*/
- private void orientAboutIcon(BubbleTextView icon) {
+ private void orientAboutIcon(BubbleTextView icon, int arrowHeight) {
int width = getMeasuredWidth();
- int height = getMeasuredHeight();
+ int height = getMeasuredHeight() + arrowHeight;
DragLayer dragLayer = mLauncher.getDragLayer();
dragLayer.getDescendantRectRelativeToSelf(icon, mTempRect);
@@ -352,10 +353,12 @@ public class DeepShortcutsContainer extends LinearLayout implements View.OnLongC
x += mIsLeftAligned ? xOffset : -xOffset;
// Open above icon if there is room.
- int y = mTempRect.top - height;
- mIsAboveIcon = mTempRect.top - height > dragLayer.getTop() + insets.top;
+ int iconHeight = icon.getIcon().getBounds().height();
+ int y = mTempRect.top + icon.getPaddingTop() - height;
+ mIsAboveIcon = y > dragLayer.getTop() + insets.top;
if (!mIsAboveIcon) {
- y = mTempRect.bottom;
+ y = mTempRect.top + icon.getPaddingTop() + iconHeight;
+ icon.setTextVisibility(false);
}
// Insets are added later, so subtract them now.
@@ -715,6 +718,7 @@ public class DeepShortcutsContainer extends LinearLayout implements View.OnLongC
mDeferContainerRemoval = false;
// Make the original icon visible in All Apps, but not in Workspace or Folders.
cleanupDeferredDrag(mDeferredDragIcon.getTag() instanceof AppInfo);
+ mDeferredDragIcon.setTextVisibility(true);
mLauncher.getDragController().removeDragListener(this);
mLauncher.getDragLayer().removeView(this);
}