From 5441a9d30a9e7cc4f245742d54b39d2e16d76bce Mon Sep 17 00:00:00 2001 From: Adam Cohen Date: Fri, 14 Jul 2017 14:22:05 -0700 Subject: [PATCH] Make landscape all apps caret clickable when in all apps as well as workspace -> Also increase the touch target size of the caret -> Center the asset horizontally within the view (but keep it bottom asligned) issue 63681599 issue 63682248 Change-Id: I64efdfb9f84b82cc21d82c10d9301a99fed3353a --- res/layout-land/launcher.xml | 14 ++++++------- res/values-land/dimens.xml | 2 +- src/com/android/launcher3/Launcher.java | 21 +++++++++++++++++-- .../PageIndicatorCaretLandscape.java | 2 +- 4 files changed, 28 insertions(+), 11 deletions(-) diff --git a/res/layout-land/launcher.xml b/res/layout-land/launcher.xml index e6f98a49ae..fd66593cf2 100644 --- a/res/layout-land/launcher.xml +++ b/res/layout-land/launcher.xml @@ -60,13 +60,6 @@ android:id="@+id/overview_panel" android:visibility="gone" /> - - + + diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml index 1d36f75cb0..1ab385cb20 100644 --- a/res/values-land/dimens.xml +++ b/res/values-land/dimens.xml @@ -26,7 +26,7 @@ 120dp - 24dp + 48dp 5dp diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 6ae4068c8f..6ab50f69ff 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -2256,8 +2256,9 @@ public class Launcher extends BaseActivity if (v instanceof FolderIcon) { onClickFolderIcon(v); } - } else if ((FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP && v instanceof PageIndicator) || - (v == mAllAppsButton && mAllAppsButton != null)) { + } else if ((FeatureFlags.LAUNCHER3_ALL_APPS_PULL_UP && v instanceof PageIndicator)) { + onClickAllAppsCaret(v); + } else if (v == mAllAppsButton && mAllAppsButton != null) { onClickAllAppsButton(v); } else if (tag instanceof AppInfo) { startAppShortcutOrInfoActivity(v); @@ -2322,6 +2323,22 @@ public class Launcher extends BaseActivity } } + /** + * Event handler for the swipe up caret + * + * @param v The view that was clicked. + */ + protected void onClickAllAppsCaret(View v) { + if (LOGD) Log.d(TAG, "onClickAllAppsCaret"); + if (!isAppsViewVisible()) { + getUserEventDispatcher().logActionOnControl(Action.Touch.TAP, + ControlType.ALL_APPS_BUTTON); + showAppsView(true /* animated */, true /* updatePredictedApps */); + } else { + showWorkspace(true); + } + } + private void onClickPendingAppItem(final View v, final String packageName, boolean downloadStarted) { if (downloadStarted) { diff --git a/src/com/android/launcher3/pageindicators/PageIndicatorCaretLandscape.java b/src/com/android/launcher3/pageindicators/PageIndicatorCaretLandscape.java index 8bcb9794a8..682d5a9678 100644 --- a/src/com/android/launcher3/pageindicators/PageIndicatorCaretLandscape.java +++ b/src/com/android/launcher3/pageindicators/PageIndicatorCaretLandscape.java @@ -57,7 +57,7 @@ public class PageIndicatorCaretLandscape extends PageIndicator { protected void onDraw(Canvas canvas) { Rect drawableBounds = getCaretDrawable().getBounds(); int count = canvas.save(); - canvas.translate(getWidth() - drawableBounds.width(), + canvas.translate((getWidth() - drawableBounds.width()) / 2, getHeight() - drawableBounds.height()); getCaretDrawable().draw(canvas); canvas.restoreToCount(count);