From a97f0f20cd6ad51b3e920c923d21148234e5f728 Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Wed, 21 Mar 2018 15:51:23 -0700 Subject: [PATCH] Support multiple Views of extra hotseat content Also adjust workspace page indicator: - Center vertically - Rounded corners Change-Id: I96c2f3da3522d70726f544126b516c33c8fb7bc8 --- .../launcher3/uioverrides/UiFactory.java | 7 ++++-- res/drawable/ic_drag_indicator.xml | 25 +++++++++++++++++++ .../WorkspaceStateTransitionAnimation.java | 6 +++-- .../WorkspacePageIndicator.java | 4 +-- .../launcher3/uioverrides/UiFactory.java | 4 +-- 5 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 res/drawable/ic_drag_indicator.xml diff --git a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java index 13f9601ee9..7114f52957 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java +++ b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java @@ -88,7 +88,10 @@ public class UiFactory { } } - public static View getHotseatExtraContent(Hotseat hotseat) { - return hotseat.findViewById(R.id.search_container_hotseat); + public static View[] getHotseatExtraContent(Hotseat hotseat) { + return new View[] { + hotseat.findViewById(R.id.drag_indicator), + hotseat.findViewById(R.id.search_container_hotseat), + }; } } diff --git a/res/drawable/ic_drag_indicator.xml b/res/drawable/ic_drag_indicator.xml new file mode 100644 index 0000000000..d50bdd3fdf --- /dev/null +++ b/res/drawable/ic_drag_indicator.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file diff --git a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java index 66ea4d48b4..3a222c261c 100644 --- a/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java +++ b/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java @@ -84,8 +84,10 @@ public class WorkspaceStateTransitionAnimation { float hotseatExtraAlpha = (elements & HOTSEAT_EXTRA) != 0 ? 1 : 0; propertySetter.setViewAlpha(mLauncher.getHotseat().getLayout(), hotseatIconsAlpha, pageAlphaProvider.interpolator); - propertySetter.setViewAlpha(UiFactory.getHotseatExtraContent(mLauncher.getHotseat()), - hotseatExtraAlpha, pageAlphaProvider.interpolator); + for (View hotseatExtraContent : UiFactory.getHotseatExtraContent(mLauncher.getHotseat())) { + propertySetter.setViewAlpha(hotseatExtraContent, hotseatExtraAlpha, + pageAlphaProvider.interpolator); + } propertySetter.setViewAlpha(mLauncher.getWorkspace().getPageIndicator(), hotseatIconsAlpha, pageAlphaProvider.interpolator); diff --git a/src/com/android/launcher3/pageindicators/WorkspacePageIndicator.java b/src/com/android/launcher3/pageindicators/WorkspacePageIndicator.java index 4fc7d8a319..94ae39bb5c 100644 --- a/src/com/android/launcher3/pageindicators/WorkspacePageIndicator.java +++ b/src/com/android/launcher3/pageindicators/WorkspacePageIndicator.java @@ -155,8 +155,8 @@ public class WorkspacePageIndicator extends View int lineWidth = (int) (availableWidth / mNumPagesFloat); int lineLeft = (int) (progress * (availableWidth - lineWidth)); int lineRight = lineLeft + lineWidth; - canvas.drawRect(lineLeft, canvas.getHeight() - mLineHeight, lineRight, canvas.getHeight(), - mLinePaint); + canvas.drawRoundRect(lineLeft, canvas.getHeight() / 2 - mLineHeight / 2, lineRight, + canvas.getHeight() / 2 + mLineHeight / 2, mLineHeight, mLineHeight, mLinePaint); } @Override diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/UiFactory.java b/src_ui_overrides/com/android/launcher3/uioverrides/UiFactory.java index c4b4a45851..94abcce57e 100644 --- a/src_ui_overrides/com/android/launcher3/uioverrides/UiFactory.java +++ b/src_ui_overrides/com/android/launcher3/uioverrides/UiFactory.java @@ -48,7 +48,7 @@ public class UiFactory { public static void onTrimMemory(Launcher launcher, int level) { } - public static View getHotseatExtraContent(Hotseat hotseat) { - return null; + public static View[] getHotseatExtraContent(Hotseat hotseat) { + return new View[0]; } }