Loading src/com/android/launcher3/BubbleTextView.java +23 −11 Original line number Diff line number Diff line Loading @@ -141,6 +141,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, private final CheckLongPressHelper mLongPressHelper; private final boolean mLayoutHorizontal; private final boolean mIsRtl; private final int mIconSize; @ViewDebug.ExportedProperty(category = "launcher") Loading Loading @@ -185,6 +186,8 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.BubbleTextView, defStyle, 0); mLayoutHorizontal = a.getBoolean(R.styleable.BubbleTextView_layoutHorizontal, false); mIsRtl = (getResources().getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL); DeviceProfile grid = mActivity.getDeviceProfile(); mDisplay = a.getInteger(R.styleable.BubbleTextView_iconDisplay, DISPLAY_WORKSPACE); Loading Loading @@ -581,18 +584,28 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, return mDotInfo != null; } /** * Get the icon bounds on the view depending on the layout type. */ public void getIconBounds(Rect outBounds) { getIconBounds(this, outBounds, mIconSize); getIconBounds(mIconSize, outBounds); } public static void getIconBounds(View iconView, Rect outBounds, int iconSize) { int top = iconView.getPaddingTop(); int left = (iconView.getWidth() - iconSize) / 2; int right = left + iconSize; int bottom = top + iconSize; outBounds.set(left, top, right, bottom); /** * Get the icon bounds on the view depending on the layout type. */ public void getIconBounds(int iconSize, Rect outBounds) { Utilities.setRectToViewCenter(this, iconSize, outBounds); if (mLayoutHorizontal) { if (mIsRtl) { outBounds.offsetTo(getWidth() - iconSize - getPaddingRight(), outBounds.top); } else { outBounds.offsetTo(getPaddingLeft(), outBounds.top); } } else { outBounds.offsetTo(outBounds.left, getPaddingTop()); } } /** * Sets whether to vertically center the content. Loading Loading @@ -980,8 +993,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, @Override public void getWorkspaceVisualDragBounds(Rect bounds) { DeviceProfile grid = mActivity.getDeviceProfile(); BubbleTextView.getIconBounds(this, bounds, grid.iconSizePx); getIconBounds(mIconSize, bounds); } private int getIconSizeForDisplay(int display) { Loading @@ -998,7 +1010,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, } public void getSourceVisualDragBounds(Rect bounds) { BubbleTextView.getIconBounds(this, bounds, getIconSizeForDisplay(mDisplay)); getIconBounds(mIconSize, bounds); } @Override Loading src/com/android/launcher3/Utilities.java +12 −0 Original line number Diff line number Diff line Loading @@ -526,6 +526,18 @@ public final class Utilities { return defaultValue; } /** * Using the view's bounds and icon size, calculate where the icon bounds will * be if it was positioned at the center of the view. */ public static void setRectToViewCenter(View iconView, int iconSize, Rect outBounds) { int top = (iconView.getHeight() - iconSize) / 2; int left = (iconView.getWidth() - iconSize) / 2; int right = left + iconSize; int bottom = top + iconSize; outBounds.set(left, top, right, bottom); } /** * Ensures that a value is within given bounds. Specifically: * If value is less than lowerBound, return lowerBound; else if value is greater than upperBound, Loading src/com/android/launcher3/folder/FolderIcon.java +4 −1 Original line number Diff line number Diff line Loading @@ -628,7 +628,10 @@ public class FolderIcon extends FrameLayout implements FolderListener, IconLabel public void drawDot(Canvas canvas) { if (!mForceHideDot && ((mDotInfo != null && mDotInfo.hasDot()) || mDotScale > 0)) { Rect iconBounds = mDotParams.iconBounds; BubbleTextView.getIconBounds(this, iconBounds, mActivity.getDeviceProfile().iconSizePx); Utilities.setRectToViewCenter(this, mActivity.getDeviceProfile().iconSizePx, iconBounds); iconBounds.offsetTo(iconBounds.left, getPaddingTop()); float iconScale = (float) mBackground.previewSize / iconBounds.width(); Utilities.scaleRectAboutCenter(iconBounds, iconScale); Loading Loading
src/com/android/launcher3/BubbleTextView.java +23 −11 Original line number Diff line number Diff line Loading @@ -141,6 +141,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, private final CheckLongPressHelper mLongPressHelper; private final boolean mLayoutHorizontal; private final boolean mIsRtl; private final int mIconSize; @ViewDebug.ExportedProperty(category = "launcher") Loading Loading @@ -185,6 +186,8 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.BubbleTextView, defStyle, 0); mLayoutHorizontal = a.getBoolean(R.styleable.BubbleTextView_layoutHorizontal, false); mIsRtl = (getResources().getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL); DeviceProfile grid = mActivity.getDeviceProfile(); mDisplay = a.getInteger(R.styleable.BubbleTextView_iconDisplay, DISPLAY_WORKSPACE); Loading Loading @@ -581,18 +584,28 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, return mDotInfo != null; } /** * Get the icon bounds on the view depending on the layout type. */ public void getIconBounds(Rect outBounds) { getIconBounds(this, outBounds, mIconSize); getIconBounds(mIconSize, outBounds); } public static void getIconBounds(View iconView, Rect outBounds, int iconSize) { int top = iconView.getPaddingTop(); int left = (iconView.getWidth() - iconSize) / 2; int right = left + iconSize; int bottom = top + iconSize; outBounds.set(left, top, right, bottom); /** * Get the icon bounds on the view depending on the layout type. */ public void getIconBounds(int iconSize, Rect outBounds) { Utilities.setRectToViewCenter(this, iconSize, outBounds); if (mLayoutHorizontal) { if (mIsRtl) { outBounds.offsetTo(getWidth() - iconSize - getPaddingRight(), outBounds.top); } else { outBounds.offsetTo(getPaddingLeft(), outBounds.top); } } else { outBounds.offsetTo(outBounds.left, getPaddingTop()); } } /** * Sets whether to vertically center the content. Loading Loading @@ -980,8 +993,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, @Override public void getWorkspaceVisualDragBounds(Rect bounds) { DeviceProfile grid = mActivity.getDeviceProfile(); BubbleTextView.getIconBounds(this, bounds, grid.iconSizePx); getIconBounds(mIconSize, bounds); } private int getIconSizeForDisplay(int display) { Loading @@ -998,7 +1010,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, } public void getSourceVisualDragBounds(Rect bounds) { BubbleTextView.getIconBounds(this, bounds, getIconSizeForDisplay(mDisplay)); getIconBounds(mIconSize, bounds); } @Override Loading
src/com/android/launcher3/Utilities.java +12 −0 Original line number Diff line number Diff line Loading @@ -526,6 +526,18 @@ public final class Utilities { return defaultValue; } /** * Using the view's bounds and icon size, calculate where the icon bounds will * be if it was positioned at the center of the view. */ public static void setRectToViewCenter(View iconView, int iconSize, Rect outBounds) { int top = (iconView.getHeight() - iconSize) / 2; int left = (iconView.getWidth() - iconSize) / 2; int right = left + iconSize; int bottom = top + iconSize; outBounds.set(left, top, right, bottom); } /** * Ensures that a value is within given bounds. Specifically: * If value is less than lowerBound, return lowerBound; else if value is greater than upperBound, Loading
src/com/android/launcher3/folder/FolderIcon.java +4 −1 Original line number Diff line number Diff line Loading @@ -628,7 +628,10 @@ public class FolderIcon extends FrameLayout implements FolderListener, IconLabel public void drawDot(Canvas canvas) { if (!mForceHideDot && ((mDotInfo != null && mDotInfo.hasDot()) || mDotScale > 0)) { Rect iconBounds = mDotParams.iconBounds; BubbleTextView.getIconBounds(this, iconBounds, mActivity.getDeviceProfile().iconSizePx); Utilities.setRectToViewCenter(this, mActivity.getDeviceProfile().iconSizePx, iconBounds); iconBounds.offsetTo(iconBounds.left, getPaddingTop()); float iconScale = (float) mBackground.previewSize / iconBounds.width(); Utilities.scaleRectAboutCenter(iconBounds, iconScale); Loading