From b984cf7fa68dfb48d321196aa0320a20ce934dca Mon Sep 17 00:00:00 2001 From: Samuel Fufa Date: Wed, 24 Feb 2021 10:05:01 -0600 Subject: [PATCH] Restore divider between app predictions and apps Screenshot: https://screenshot.googleplex.com/89jJLU3JXV8tRXM Bug: 180017741 Test: Manual Change-Id: Iab1764fe94340f120770054cf5a59bd3ed9e45a4 --- .../launcher3/appprediction/AppsDividerView.java | 6 ------ .../launcher3/appprediction/PredictionRowView.java | 10 ++++++++-- .../launcher3/allapps/AllAppsContainerView.java | 1 + .../android/launcher3/allapps/FloatingHeaderRow.java | 7 +++++++ .../android/launcher3/allapps/FloatingHeaderView.java | 2 +- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java b/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java index b891120378..66b1a861bb 100644 --- a/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java +++ b/quickstep/src/com/android/launcher3/appprediction/AppsDividerView.java @@ -42,7 +42,6 @@ import com.android.launcher3.R; import com.android.launcher3.allapps.FloatingHeaderRow; import com.android.launcher3.allapps.FloatingHeaderView; import com.android.launcher3.anim.PropertySetter; -import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.statemanager.StateManager.StateListener; import com.android.launcher3.util.Themes; @@ -183,11 +182,6 @@ public class AppsDividerView extends View implements StateListener mPendingPredictedItems; + @Nullable + private List mPendingPredictedItems; public PredictionRowView(@NonNull Context context) { this(context, null); @@ -181,7 +182,7 @@ public class PredictionRowView extends LinearLayout implements @Override public boolean shouldDraw() { - return getVisibility() == VISIBLE; + return getVisibility() != GONE; } @Override @@ -189,6 +190,11 @@ public class PredictionRowView extends LinearLayout implements return mPredictionsEnabled; } + @Override + public boolean isVisible() { + return getVisibility() == VISIBLE; + } + /** * Returns the predicted apps. */ diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index 746bfba756..ec2a6d5b85 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -757,6 +757,7 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo int bottomOffset = mWorkModeSwitch != null && mIsWork ? switchH : 0; recyclerView.setPadding(padding.left, padding.top, padding.right, padding.bottom + bottomOffset); + recyclerView.scrollToTop(); } } diff --git a/src/com/android/launcher3/allapps/FloatingHeaderRow.java b/src/com/android/launcher3/allapps/FloatingHeaderRow.java index e357f61dac..31c6cc729a 100644 --- a/src/com/android/launcher3/allapps/FloatingHeaderRow.java +++ b/src/com/android/launcher3/allapps/FloatingHeaderRow.java @@ -61,4 +61,11 @@ public interface FloatingHeaderRow { * Returns a child that has focus to be launched by the IME. */ View getFocusedChild(); + + /** + * Returns true if view is currently visible + */ + default boolean isVisible() { + return shouldDraw(); + } } diff --git a/src/com/android/launcher3/allapps/FloatingHeaderView.java b/src/com/android/launcher3/allapps/FloatingHeaderView.java index 813db7d0a0..9056e8aada 100644 --- a/src/com/android/launcher3/allapps/FloatingHeaderView.java +++ b/src/com/android/launcher3/allapps/FloatingHeaderView.java @@ -200,7 +200,7 @@ public class FloatingHeaderView extends LinearLayout implements public View getFocusedChild() { if (FeatureFlags.ENABLE_DEVICE_SEARCH.get()) { for (FloatingHeaderRow row : mAllRows) { - if (row.hasVisibleContent() && row.shouldDraw()) { + if (row.hasVisibleContent() && row.isVisible()) { return row.getFocusedChild(); } }